我对构建应用程序有疑问。我正在使用具有node.js支持的简单VPS。现在,我不知道如何将next.js应用程序构建到生产环境中。
我想将我的应用程序部署为静态文件。
我认为我应该使用next build && next export
,然后将dir复制到服务器上,但是在此过程中,我遇到了一些问题-当我更改路线时-一切正常,但是如果我刷新页面-该页面是找不到,因为服务器正在目录中寻找该文件。那么如何在生产模式下通过VPS服务器和静态文件部署nextjs应用程序?
我尝试了一件可能无法正常工作的事情,或者我做错了什么。 我用添加了nodejs express服务器
const express = require('express');
const next = require('next');
const dev = process.env.NODE_ENV !== 'production';
const app = next({dev});
const router = express.Router();
const handle = app.getRequestHandler();
app.prepare()
.then(() => {
const server = express();
server.get('*', (req, res) => {
return handle(req, res);
});
server.listen(3000, (err) => {
if (err) throw err;
console.log('> Ready on http://localhost:3000');
});
});
并使用永久库NODE_ENV=production node server.js
启动服务器,它可以正常工作,但是看来这是以错误的方式工作的-好像是在开发模式下的普通服务器-因此不应该那样做。 (我在右下角看到雷声图标,并且看到了与开发模式下相同的所有文件。)
我想将所有内容都部署为静态文件。
谢谢您的帮助!