Express 3.x升级到4.x 优缺点
Express 是Node.js Web应用框架,他集成了一整套完善的api,让您能够快速搭建一套Web应用.
安装Express
npm install -g express
创建一个启动文件 index.js
var express = require('express'); var app = express(); app.listen(8000);
node index.js
既可以成功运行起来应用
创建一个路由
app.get('/', function(request, response) { response.send("Hello World!"); });
Express 获取参数可以参照我的另外几篇博文
Express官方API现在是4.x 版本, 3.x升级到4.x 改变还是挺多了,现在说下Express 3.x升级到4.x的优缺点.
首先 去掉了对 connect的依赖.
需要的中间件需要自己手动添加到 package.json中.
具体表现:
健壮的路由系统
包含 HTTP helpers (跳转, 缓存等)
试图系统支持超过 14 中模板引擎
Content negotiation
专注高性能
基于 environment 的配置
项目框架生成命令行工具
测试全面
Express 两大主要变化: 去掉了对 connect 中间件的捆绑, 如果需要可以添加到项目 package.json 使用, 这样使得中间件可以更加灵活的更新和 fix bug
而不会影响到 Express; 增强的路由系统
移除 app.configure()
移除 app.router
移除 express.createServer(): 使用 use express() 替代
public API for the Router
关于迁移注意事项可以参看这里 Migrating from 3.x to 4.x 这个切换操作不会太复杂
Express 4.x 相对于之前3.x 版本还有不小的性能提升
http 回发反应时间缩短了 20%
内存占用减少了 10%
Connect 是一个 Node.js 的中间件层
可扩展的 HTTP server 框架. Express 3.0 即是建立在 connect 之上. 跟随 Node 0.12
的步伐, Connect 3.0 也在开发当中, 主要的调整为:
中间件会被迁移到 expressjs 组织的独立项目中
所有的中间件不止能适用于 Connect, 还可以适用于相似的框架如 restify, 因此所有的 Node patched 会被移除.
停止对 Node 0.8 的支持.
网站文档将会被移除, 可以查看项目的 README 文档作为替代.
注: 部分中间件将会被停止支持: cookieParser, limit, multipart, staticCache, query.
可以使用其他插件替代, 具体参看 connect middleware.
这部分插件会对部分 Express 3 造成影响, 在项目启动时候会看到升级提示警告: connect.bodyParser() 将不再支持.
可以使用
app.use(connect.urlencoded()) app.use(connect.json())