大多数中间件(如压缩)不再捆绑..错误

时间:2015-01-15 09:22:12

标签: node.js init

请帮助我如何解决这个问题?

Starting static webserver: /home/ubuntu/node/node_modules/express/lib/express.js:89
      throw new Error('Most middleware (like ' + name + ') is no longer bundle
            ^
Error: Most middleware (like cookieParser) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.
    at Function.Object.defineProperty.get (/home/ubuntu/node/node_modules/express/lib/express.js:89:13)
    at Object.<anonymous> (/home/ubuntu/node/static-app.js:26:16)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:124:16)
    at node.js:811:3

1 个答案:

答案 0 :(得分:3)

您已将快递更新为4.0,但它现在没有包含所有中间件,因此您必须手动安装它们。

请参阅Moving to Express 4.0 guide

  

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

     

随着内置中间件的消失,您必须明确添加运行应用程序所需的所有中间件。只需按照以下步骤操作:

     

安装模块: npm install --save

     

在您的应用中,需要模块: require(&#39; module-name&#39;);

     

根据其文档使用该模块: app.use(...);