nodejs 用http模塊搭建的服務器的路由

咱們打開瀏覽器瀏覽網頁時,點擊上面不一樣的模塊,地址欄中的路由會發生相應的變化,從而,瀏覽器向服務器發起請求的內容也會發生改變,那麼服務端,是如何來作的呢?html

服務端也是,經過路由來作出不一樣的響應的,咱們已經知道,服務器對象的參數有request,和response兩個參數。request裏就攜帶了,瀏覽器請求所攜帶的值。node

request.url返回的是瀏覽器中路由的值json

咱們能夠根據這個值來判斷,服務器須要返回給瀏覽器什麼內容,api

下面來看一下server.js的代碼:瀏覽器

var http = require("http");
var fs = require("fs");

var startServer = function(){
    var onRequest = function(request,response){
        console.log("request received"+request.url);
        if(request.url==="/"||request.url==="/home"){
            response.writeHead(200,{"Content-Type":"text/html"});
            fs.createReadStream(__dirname+"/index.html","utf8").pipe(response);
        }else if(request.url==="/review"){
            response.writeHead(200,{"Content-Type":"text/html"});
            fs.createReadStream(__dirname+"/review.html","utf8").pipe(response);
        }else if(request.url==="/api"){
            response.writeHead(200,{"Content-Type":"application/json"});
            var jsonObj={name:"lili",job:"coder",age:18};
            response.end(JSON.stringify(jsonObj));
        }else{
            response.writeHead(200,{"Content-Type":"text/html"});
            fs.createReadStream(__dirname+"/404.html","utf8").pipe(response);
        }
        
    }

    var server = http.createServer(onRequest);
    //最後讓服務器監聽一個端口
    server.listen(3000,"127.0.0.1");//還能夠加第二個參數 127.0.0.1表明的是本地

    console.log("server started on localhost port 3000");//加一個服務器啓動起來的提示
}

module.exports.startServer=startServer;

上面server.js中,根據不一樣的路由,讓服務器返回給瀏覽器不一樣的內容,當找不到內容時,返回一個404頁面服務器

 

把server.js引入到app.js中app

var server = require("./server");

server.startServer();

執行node appui

在瀏覽器中 localhost:3000url

後面跟上不一樣的路由,會顯示不一樣的頁面,當匹配不到路由時,會顯示404頁面!!!spa

相關文章
相關標籤/搜索