npm run dev
我正在开发一个 NextJS 应用程序,并且在开发过程中一直在使用。现在我正在尝试按照GitHub 页面上的描述进行生产构建。
我的应用程序在生产模式下崩溃了;似乎cookie-parser
节点中间件未安装在生产版本中?这是我的设置方式:
服务器.js
const express = require('express');
const next = require('next');
const cookieParser = require('cookie-parser'); // require cookie-parser
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();
app.prepare()
.then(() => {
const server = express();
server.use(cookieParser()); // use cookieParser
server.get('*', (req, res) => {
return handle(req, res);
});
server.listen(3000, (err) => {
if (err) throw err;
console.log('> Ready on http://localhost:3000');
});
})
.catch((ex) => {
console.error(ex.stack);
process.exit(1);
})
稍后在代码中我访问节点req
对象。req.cookies
正如我所料,在开发模式中存在。在生产模式下它不存在。
看起来生产构建目录中没有server.js文件。更重要的是cookie-parser
,cookieParser
在所述生产构建目录中搜索并生成空结果。
知道发生了什么以及如何cookie-parser
在生产 NextJS 构建中工作吗?