原生http模塊與使用express框架對比

node的http建立服務與利用Express框架有何不一樣node

原生http模塊與使用express框架對比:
const http = require("http");

let server = http.createServer(function (req, res) {
 
    
    // 服務器收到瀏覽器web請求後,打印一句話

        console.log("recv req from browser");

 
        // 服務器給瀏覽器迴應消息
 
       res.end("hello browser");

});
 

server.listen(3000);
服務器執行:
$ node app.js
recv req from browser


使用express框架後:
const http = require("http");

const express = require("express");
 

// app是一個函數

let app = express();
 

http.createServer(app);
 

// 路由處理,默認是get請求

app.get("/demo", function(req, res) {
    
    console.log("rcv msg from browser");

        res.send("hello browser");
    
    res.end();

});
 

app.listen(3000);
服務器執行:
$ node app.js
rcv msg from browser


express究竟是什麼?
function createApplication() {
    
    var app = function (req, res, next) {
        
        app.handle(req, res, next);
   
     };
 
    
    mixin(app, EventEmitter.prototype, false);
    
    mixin(app, proto, false);
 
    
    // expose the prototype that will get set on requests
    
    app.request = Object.create(req, {
        
        app: { configurable: true, enumerable: true, writable: true, value: app }
    
    })
 
    
    // expose the prototype that will get set on responses
    
    app.response = Object.create(res, {
        
        app: { configurable: true, enumerable: true, writable: true, value: app }
    
    })
 
    
    app.init();
    
    return app;

}

總結:
1.express框架簡單封裝了node的http模塊,所以,express支持node原生的寫法。express的重要意義在於:支持使用中間件 + 路由 來開發web服務器邏輯。
2.express()就是createApplication()

 

略。web

相關文章
相關標籤/搜索