這裡實現的好像就是把路由和伺服器相結合起來。具體需要引入 url 模組和 http 模組
為路由提供請求的 URL 和其他需要的 GET 及 POST 引數,隨後路由需要根據這些資料來執行相應的程式碼
需要檢視 HTTP 請求,從中提取出請求的 URL 以及 GET/POST 引數,所以需要引入url 和 querystring模組
#####################################################################################
通過給 onRequest() 函式加上一些邏輯,用來找出瀏覽器請求的 URL 路徑:
//1_server.js
var http = require(`http`); var url = require(`url`); function start() { function onRequest(request, response) { var pathname = url.parse(request.url).pathname; console.log(`Request for ` + pathname + `received`); response.writeHead(200, {`Content-Type`: `text/plain`}); response.write(`love A`); response.end(); } var server= http.createServer(onRequest); server.listen(8888); console.log(`server has started`); } exports.start = start;
現在可以通過請求的 URL 路徑來區別不同請求了–這使我們得以使用路由(還未完成)來將請求以 URL 路徑為基準對映到處理程式上
在我們所要構建的應用中,這意味著來自 /start 和 /upload 的請求可以使用不同的程式碼來處理。稍後我們將看到這些內容是如何整合到一起的。
//1_router.js
function route(pathname) { console.log(`About to route a request for ` + pathname); } exports.route = route;
相應擴充套件 index.js,使得路由函式可以被注入到伺服器中:
//1_index.js
var server = require("./server"); var router = require("./router"); server.start(router.route);