2018年2月17日 星期六

【Node.js】使用url module的parse方法將http createServer產生的res的url屬性轉變為物件,並使用其pathname屬性,讓server讀不同html檔案


//0218.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>第一頁</h1>
</body>
</html>

//0218-1.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>第二頁</h1>
</body>
</html>

//0218.js
var http = require('http');
var url = require('url');
var fs = require('fs');

http.createServer(function(req,res){
    var filename = '.'+url.parse(req.url,true).pathname; // ./ 是同層檔案的意思
    fs.readFile(filename,function(err,data){
        if(err){
            res.writeHead(404,{'Content-Type':'text/html'});
            return res.write('404 Not Found');
        }
        res.writeHead(200,{'Content-Type':'text/html'});
        res.write(data);
        return res.end();
    })
}).listen(8080);

沒有留言:

張貼留言