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

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

略。

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

时间: 2025-01-17 09:10:50

原生http模块与使用express框架对比的相关文章

express框架

前面的话 Express是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助开发者创建各种 Web 和移动设备应用.本文将详细介绍express框架 概述 官网对Express的描述,它是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架.优点是易上手.高性能.扩展性强 1.易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步.express对web开发相关的模块进行了适度的封装,屏蔽

node、express框架

前面的话 Express是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助开发者创建各种 Web 和移动设备应用.本文将详细介绍express框架 概述 官网对Express的描述,它是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架.优点是易上手.高性能.扩展性强 1.易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步.express对web开发相关的模块进行了适度的封装,屏蔽

Node.js笔记(0003)---Express框架Router模块学习笔记

这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: Map logic to route parameters. 大概意思就是路由参数的映射逻辑 这个可能一时半会也不明白其作用,尤其是不知道get和param的执行顺序 再看看源码里面的介绍: Map the given param placeholder `name`(s) to the given callbac

Node教程——Express框架简约教程

Express框架学习 (一导学) 框架入门 这个也是是一个开发框架,是一个第三方模块,使用这个框架可以很方便的创建网站服务器 我们先来看看它的特点: 1.提供了方便简洁的路由定义方式 2.对获取HTTP请求参数进行了简化处理 3.对模板引擎支持程度高,方便渲染动态HTML页面 4.提供了中间件机制有效控制HTTP请求(对请求的拦截) 5.拥有大量第三方中间件对功能进行扩展 其实框架就是一些API,学习框架就是学习还有熟悉它的API 对比一下原生的路由还有获取请求参数的处理实现方式 简单的上手实

Android &Swift iOS开发:语言与框架对比

转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text 从Android到Swift iOS开发:语言与框架对比 我从2009年开始做Android开发,开始接触Swift是在2014年底,当时组里曾经做过一个Demo App,感觉技术还

NodeJS 入门第三天(Express框架)

一.Express框架 Express框架是后台的Node框架,所以和jQuery.zepto.yui.bootstrap都不一个东西. Express在后台的受欢迎的程度,和jQuery一样,就是企业的事实上的标准. ● 原生Node开发,会发现有很多问题.比如: ■ 呈递静态页面很不方便,需要处理每个HTTP请求,还要考虑304问题 ■ 路由处理代码不直观清晰,需要写很多正则表达式和字符串函数 ■ 不能集中精力写业务,要考虑很多其他的东西 我们自己可以把第一天的作业,就是那个静态文件服务给封

Express框架学习总结

最近学了Express框架,在学习的过程中,参考了一些资料,感觉Express框架比原生Node.js好用多了.下面我将我学习总结的内容如下: Express中文网     http://www.expressjs.com.cn/ Express英文网     http://expressjs.com/ 一.Express框架 Express框架是后台的Node框架,所以和jQuery.zepto.yui.bootstrap都不是一个东西. Express在后台的受欢迎的程度,和jQuery一样

express框架路由配置及congtroller自动加载

express框架在node官方推荐的一个框架,关于如何入门的文章,已经很多了,我就不在累赘了,本文的核心是如何修改文件使得更接近一个MVC的框架 express原生是通过require的方式实现了模块的加载,而且是在程序启动时一次性全部加载(因此我的按需加载的方案搁浅了),如果在配置路由的时候都加载一次,然后全部写在app.js文件中,我的天呐,对于一个大型项目来说极难维护,因此必须将其分割.下面我们就来干这么一件事. 上图是我的文件目录: controller  文件夹是控制器 model

主流深度学习框架对比

深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括TensorFlow.Caffe.Keras.CNTK.Torch7.MXNet.Leaf.Theano.DeepLearning4.Lasagne.Neon,等等.然而TensorFlow却杀出重围,在关注度和用户数上都占据绝对优势,大有一统江湖之势.表2-1所示为各个开源框架在GitHub上的数据统计(数据统计于2017年1月3日),可以看到TensorFlow在star数量.fork数量.contributor数量这三个数