Express 核心和中间件系统的变化

中英双语

Express 4 不再依赖 Connect,并从其核心中删除了所有内置中间件,除了 express.static 功能。这意味着 Express 现在是一个独立的路由和中间件 Web 框架,并且 Express 版本控制和发布不受中间件更新的影响。

如果没有内置中间件,您必须显式添加运行应用程序所需的所有中间件。只需按照以下步骤操作:

  1. 安装模块:npm install --save <module-name>
  2. 在您的应用程序中,需要模块:require('module-name')
  3. 根据其文档使用模块:app.use( ... )

下表列出了 Express 3 中间件及其在 Express 4 中的对应项。

Express 3Express 4

express.bodyParser

body-parser + multer

express.compress

compression

express.cookieSession

cookie-session

express.cookieParser

cookie-parser

express.logger

morgan

express.session

express-session

express.favicon

serve-favicon

express.responseTime

response-time

express.errorHandler

errorhandler

express.methodOverride

method-override

express.timeout

connect-timeout

express.vhost

vhost

express.csrf

csurf

express.directory

serve-index

express.static

serve-static

这里是 Express 4 中间件的 complete list

在大多数情况下,您可以简单地将旧版本 3 中间件替换为 Express 4 对应的中间件。有关详细信息,请参阅 GitHub 中的模块文档。