nodejs學習04——express框架

搭建環境

新建一個文件夾 LearnExpress,

命令行:
//初始化包
npm init

// 安裝 express
npm i express

初體驗

//1. 導入 express
const express = require('express');
//2. 創建應用對象
const app = express();
//3. 創建路由規則
app.get('/home', (req, res) => {
	//res.end('hello express server');//也可以用 send
	res.send('hello ...');
});
//4. 監聽端口 啓動服務
app.listen(8080, () =>{
	console.log('服務已經啓動, 端口監聽爲 8080...');
});

路由的使用

//路由的使用
//一個路由的組成有 請求方法 , 路徑 和 回調函數 組成

//1. 導入 express
const express = require('express');
//2. 創建應用對象
const app = express();

// 創建 get 路由
app.get('/home', (req, res) => {
	res.send('網站首頁');
});

app.get('/',(req,res)=>{
	res.send('我纔是真正的首頁');
});

//創建 post 路由
app.post('/login', (req, res) => {
	res.send('登錄成功');
});

//匹配所有的請求方法
app.all('/search', (req, res) => {
	res.send('1 秒鐘爲您找到相關結果約 100,000,000 個');
});

//自定義 404 路由
app.all("*", (req, res) => {
	res.send('<h1>404 Not Found</h1>')
});

//4. 監聽端口 啓動服務
app.listen(8080, () =>{
	console.log('服務已經啓動, 端口監聽爲 8080...');
});

請求參數獲取

//1. 導入 express
const express = require('express');
//2. 創建應用對象
const app = express();

//獲取請求的路由規則
app.get('/request', (req, res) => {
	//1. 獲取報文的方式與原生 HTTP 獲取方式是兼容的
	console.log(req.method);//GET
	console.log(req.url);// /request?abc=100&pw=wod
	console.log(req.httpVersion);//1.1
	console.log(req.headers);
	//2. express 獨有的獲取報文的方式
	//獲取查詢字符串
	console.log(req.query); // 『相對重要』  { abc: '100', pw: 'wod' }
	// 獲取指定的請求頭
	console.log(req.get('host'));// 127.0.0.1:8080
	console.log(req.get('user-agent'));
	
	//res.write('test');
	//res.end('請求報文的獲取');
	res.send('請求報文的獲取');
});

//獲取路由參數,路由參數指的是 URL 路徑中的參數(數據)
app.get('/:id.html', (req, res) => {
	res.send('商品詳情, 商品 id 爲' + req.params.id);
});

//4. 監聽端口 啓動服務
app.listen(8080, () =>{
	console.log('服務已經啓動, 端口監聽爲 8080...');
});

響應設置

//1. 導入 express
const express = require('express');
//2. 創建應用對象
const app = express();

//獲取請求的路由規則
app.get("/response", (req, res) => {
	//1. express 中設置響應的方式兼容 HTTP 模塊的方式
	// res.statusCode = 404;
	// res.statusMessage = 'xxx';
	// res.setHeader('abc','xyz');
	// res.write('響應體');
	// res.end('xxx');
	//2. express 的響應方法
	res.status(500); //設置響應狀態碼
	res.set('xxx','yyy');//設置響應頭
	res.send('中文響應不亂碼');//設置響應體
	//連貫操作
	// res.status(404).set('xxx','yyy').send('你好朋友');
	//3. 其他響應
	// res.redirect('http://atguigu.com');//重定向
	// res.download('./package.json');//下載響應
	// res.json();//響應 JSON
	// res.sendFile(__dirname + '/home.html'); //響應文件內容
});


//4. 監聽端口 啓動服務
app.listen(8080, () =>{
	console.log('服務已經啓動, 端口監聽爲 8080...');
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章