首先先看一下文件的結構:
我想通過改變不同的路由進不同的頁面,
先看這幾個HTML頁面:
404:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> 404 </body> </html>
about:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> about </body> </html>
home:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> home </body> </html>
再看一下主要的root.js:
// 加載所需模塊 let http = require('http'); let url = require('url'); let fs = require('fs'); let host = '127.0.0.1'; let port = 8080; http.createServer(function(req,res){ let pathname = url.parse(req.url).pathname; console.log('Request for ' + pathname + ' received.'); function showPaper(path,status){ let content = fs.readFileSync(path); res.writeHead(status, { 'Content-Type': 'text/html;charset=utf-8' }); res.write(content); res.end(); } switch(pathname){ //'首頁' case '/': case '/home': showPaper('./rooter/home.html',200); break; //'about頁' case '/about': showPaper('./rooter/about.html',200); break; //'404頁' default: showPaper('./rooter/404.html',404); break; } }).listen(port, host);
首先我們得到了路由的URL的pathname,然后通過pathname進行判斷,這里是通過使用readFileSync同步讀取文件內容的方法,再寫到頁面中的方法進行路由的轉換,結果如下: