【发布时间】:2018-03-16 13:07:20
【问题描述】:
我正在开发一个 NextJS 应用程序,并且在开发过程中一直在使用npm run dev。现在我正在尝试按照GitHub page 中的描述进行生产构建。
我的应用在生产模式下崩溃了;似乎cookie-parser 节点中间件未安装在生产版本中?我是这样设置的:
server.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 构建中工作?
【问题讨论】:
标签: node.js build middleware nextjs