我刚刚升级到 Express 版本 3,我发现我的中间件出现错误。具体来说:
错误:大多数中间件(如 session )不再与 Express 捆绑在一起,必须单独安装。请参阅 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 中,像 session 这样的中间件不与 express 捆绑在一起。此外,如果要使用它们,则必须单独安装它们。喜欢:
npm install express-session
然后要求它:
var session = require('express-session');
然后使用这个:
app.set('trust proxy', 1) // trust first proxy
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}))
关于node.js - Node js错误: Most middleware (like session) is no longer bundled with Express and must be installed separately,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27016981/