码迷,mamicode.com
首页 > Web开发 > 详细

原生http模块与使用express框架对比

时间:2019-02-15 19:46:25      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:模块   web服务   als   hat   ica   浏览器   EAP   web服务器   ati   

node的http创建服务与利用Express框架有何不同

原生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()

 

略。

原生http模块与使用express框架对比

标签:模块   web服务   als   hat   ica   浏览器   EAP   web服务器   ati   

原文地址:https://www.cnblogs.com/wulinzi/p/10385248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!