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 如何获取获取参数 

Express 使用partial 展示片段视图

Express 解析json参数 

EJS引擎实现母版页 



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


回到顶部