节点js错误:大多数中间件(如会话)不再与Express捆绑在一起,必须单独安装
我刚刚升级到Express 3,我在中间件中看到一个错误。 特别:
Error: Most middleware (like session) 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/phpsaravana/nodeshop/node_modules/express/lib/express.js:89:13) at module.exports (/home/phpsaravana/nodeshop/node_modules/connect-mongo/lib/connect-mongo.js:30:39) at Object.<anonymous> (/home/phpsaravana/nodeshop/admin.js:6:42) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3
我该如何解决?
在新版本的Express中,像会话这样的中间件不是捆绑在一起的,如果你想使用它们,你必须单独安装它们。 喜欢 :
npm install express-session
然后要求:
var session = require('express-session'); ...
我认为你的问题是从快递2升级到3.在快递3中,大多数以前与他们捆绑在一起的软件包现在都是单一的软件包,你需要在你的应用程序中。
当然,你需要把它包含在你的package.json中,并像往常一样进行npm安装。
var express = require('express') var session = require('express-session') var app = express() app.use(session({secret: 'keyboard cat'}))
请参阅: ExpressJS / Session
- 编译期间NODE_ENV的解决方法
- 如何在nodejs中以电子邮件的forms发送html页面
- 使用socketio的audio聊天
- 如何从node.js中的HTTP请求函数返回值?
- 为什么node.js不接受文件名“node.js”
- 错误在Windows上安装laravel-elixir:npm ERR! EEXIST,打开'\ AppData \ Roaming \ npm-cache \ 837c67b9-adable-s tream-1-0-33-package-tgz.lock'
- npm install –save-dev @ ts2.0无效的标签名称“@ ts2.0”
- Sailsjs:为什么*返回*使用或不在下面的代码?
- 在节点中运行时,使摩卡“使用严格”