本文將使用NodeJS實現較複雜應用的路由功能html
項目結構以下ui
代碼以下url
【router.js】spa
// 加載所需模塊 var http = require('http'); var url = require('url'); var fs = require('fs'); var host = '127.0.0.1'; var port = 8080; http.createServer(function(req,res){ var pathname = url.parse(req.url).pathname; console.log('Request for ' + pathname + ' received.'); function showPaper(path,status){ var 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('./view/home.html',200); break; //'about頁' case '/about': showPaper('./view/about.html',200); break; //'404頁' default: showPaper('./view/404.html',404); break; } }).listen(port, host);
【404.html】code
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> 404 </body> </html>
【about.html】router
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
about
</body>
</html>
【home.html】htm
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
home
</body>
</html>