做網(wǎng)站要知道哪些代碼微信運(yùn)營(yíng)技巧
什么是路由
官方定義:路由確定了應(yīng)用程序如何響應(yīng)客戶端對(duì)特定端點(diǎn)的請(qǐng)求。
路由的使用
一個(gè)路由的組成有 請(qǐng)求方法、路徑 和 回調(diào)函數(shù) 組成。
Express中提供了一些列方法,可以很方便的使用路由,使用格式如下:
app.<method>(path,callback)
下方代碼是一個(gè)示例
//導(dǎo)入 express
const express = require('express');
//創(chuàng)建應(yīng)用對(duì)象
const app = express();
//創(chuàng)建 get 路由
app.get('/home', (req, res) => {res.send('網(wǎng)站首頁(yè)');
});
//首頁(yè)路由
app.get('/', (req, res) => {res.send('我才是真正的首頁(yè)');
});
//創(chuàng)建 post 路由
app.post('/login', (req, res) => {res.send('登錄成功');
});
//匹配所有的請(qǐng)求方法
app.all('/search', (req, res) => {res.send('1 秒鐘為您找到相關(guān)結(jié)果約 100,000,000 個(gè)');
});
//自定義 404 路由
app.all("*", (req, res) => {res.send('<h1>404 Not Found</h1>')
});
//監(jiān)聽(tīng)端口 啟動(dòng)服務(wù)
app.listen(3000, () => {console.log('服務(wù)已經(jīng)啟動(dòng), 端口監(jiān)聽(tīng)為 3000');
});
獲取請(qǐng)求參數(shù)
Express框架封裝了一些API來(lái)方便獲取請(qǐng)求報(bào)文中的數(shù)據(jù),并且兼容原生HTTP模塊的獲取方式。
//導(dǎo)入 express
const express = require('express');
//創(chuàng)建應(yīng)用對(duì)象
const app = express();
//獲取請(qǐng)求的路由規(guī)則
app.get('/request', (req, res) => {//1. 獲取報(bào)文的方式與原生 HTTP 獲取方式是兼容的console.log(req.method);console.log(req.url);console.log(req.httpVersion);console.log(req.headers);//2. express 獨(dú)有的獲取報(bào)文的方式//獲取查詢字符串console.log(req.query); // 『相對(duì)重要』// 獲取指定的請(qǐng)求頭console.log(req.get('host'));res.send('請(qǐng)求報(bào)文的獲取');
});
//啟動(dòng)服務(wù)
app.listen(3000, () => {console.log('啟動(dòng)成功....')
})
?
獲取路由參數(shù)
路由參數(shù)指的是 URL 路徑中的參數(shù)(數(shù)據(jù))
app.get('/:id.html', (req, res) => {res.send('商品詳情, 商品 id 為' + req.params.id);
});