Nodejs Express 4 正式发布, 广大 Noder 们都来尝尝鲜吧

Nodejs Express 4 正式发布, 广大 Noder 们都来尝尝鲜吧

官方的 API 文档正式切换成 4.x 版本, 3.x已经成为过去. 这次4.x 改版升级的东西可不少呦. 去掉了对 connect的依赖. 需要的中间件需要自己手动添加到 package.json 中

  • 移除 app.configure()
  • 移除 app.router
  • 移除 express.createServer(): 使用 use express() 替代
  • public API for the Router

关于迁移注意事项可以参看这里 Migrating from 3.x to 4.x 这个切换操作不会太复杂

4.x 相对于之前版本还有不小的性能提升

  • response times dropped by 20%
  • memory consumption dropped by 10%

关于更详细的升级信息参看这里: http://n.thepana.com/2014/02/25/express-upgrade/


12 回复

Node.js Express 4 正式发布, 广大 Noder 们都来尝尝鲜吧

官方 API 文档正式切换成 4.x 版本

Express 4 的正式发布标志着一个新的里程碑。官方的 API 文档已经切换成 4.x 版本,这意味着 3.x 版本已经成为过去。这次的升级带来了许多新的特性和改进。

主要变化

1. 移除对 connect 的依赖

Express 4 不再依赖于 connect 模块,这意味着你需要手动将所需的中间件添加到 package.json 文件中。例如:

{
  "dependencies": {
    "express": "^4.17.1",
    "body-parser": "^1.19.0",
    "cookie-parser": "^1.4.5",
    "morgan": "^1.10.0"
  }
}

2. 移除 app.configure()

在 Express 3.x 中,你可以使用 app.configure() 方法来配置应用的行为。但在 Express 4.x 中,这个方法已被移除。你可以直接使用中间件来实现相同的功能。例如:

const express = require('express');
const morgan = require('morgan');

const app = express();

// 使用 Morgan 中间件记录 HTTP 请求日志
app.use(morgan('combined'));

3. 移除 app.router

Express 4.x 移除了 app.router 方法。现在你可以直接使用 use 方法来注册路由。例如:

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.post('/submit', (req, res) => {
  res.send('Form submitted!');
});

4. 移除 express.createServer()

Express 4.x 移除了 express.createServer() 方法。现在你可以直接使用 express() 函数来创建一个应用实例。例如:

const express = require('express');
const app = express();

5. 公共 API for the Router

Express 4.x 提供了更强大的路由功能。你可以使用 Router 来组织和管理你的路由。例如:

const express = require('express');
const router = express.Router();

router.get('/', (req, res) => {
  res.send('Home Page');
});

router.get('/about', (req, res) => {
  res.send('About Page');
});

module.exports = router;

然后在主应用中引入并使用这个路由:

const express = require('express');
const app = express();
const aboutRouter = require('./routes/about');

app.use('/about', aboutRouter);

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

性能提升

Express 4.x 在性能方面也有显著提升:

  • 响应时间降低了 20%
  • 内存消耗减少了 10%

更多信息

如果你想了解更多关于从 3.x 到 4.x 的迁移细节,可以参考官方文档:

如果你想了解更详细的升级信息,可以查看这篇博客文章:

希望这些信息能帮助你顺利迁移到 Express 4.x!


nice!!

性能那个,你在哪里看到的???

官方文档 上面也没看到过…?

刚想问有没有中文的说明。4.0改的东西多不多

现在还没有中文说明, 改动不大, 也不小吧

%>_<% 才刚刚开始学 3.x 好么。。。

刚开始学习是3.X,自己电脑安装完了,就变成4了,好多都不懂,而且网上的资料还比较少

很多。

新手,只能直接入手4.X了

Node.js Express 4 正式发布, 广大 Noder 们都来尝尝鲜吧

官方的 API 文档已经正式切换成 4.x 版本,这意味着 3.x 已经成为过去。这次 4.x 版本进行了不少重要的改版和升级,特别是去掉了对 connect 的依赖,并且需要开发者手动将所需的中间件添加到 package.json 中。

主要更新内容:

  • 移除 app.configure(): 在 4.x 版本中,app.configure() 方法已被移除。你可以直接在应用启动时进行配置。
  • 移除 app.router: app.router 也被移除,路由现在可以使用中间件来实现。
  • 移除 express.createServer(): 使用 express() 替代 express.createServer()
  • 公共路由 API: 新增了对路由的公共 API 支持。

迁移注意事项:

你可以参考 Migrating from 3.x to 4.x 获取详细迁移说明。这些迁移操作并不会太复杂。

性能提升:

4.x 版本还带来了显著的性能提升:

  • 响应时间降低 20%
  • 内存消耗减少 10%

示例代码:

// 安装必要的依赖
// npm install express
// npm install body-parser
// npm install multer

const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');

const app = express();

// 使用中间件
app.use(bodyParser.json());
app.use(multer().any());

// 路由定义
app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.post('/upload', (req, res) => {
    console.log(req.body);
    res.send('File uploaded successfully!');
});

// 启动服务器
app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

以上代码展示了如何在 Express 4.x 中设置基本的路由、使用中间件和启动服务器。希望你能尝试一下 Express 4.x,体验其带来的改进与优化。

回到顶部