[英]Next.js App reloads frequently in production
我刚刚通过 Nginx 和 pm2 在生产中部署了我的第一个 Next.js 应用程序。 一切似乎都还好,但应用程序在浏览器上经过一段时间后经常重新加载。 我看到webpack-hmr
也在我的production
服务器中运行。 (我认为在生产中没有必要)
我正在使用自定义server.js
并使用next build
然后NODE_ENV=production node server.js
命令在生产环境中运行我的应用程序,并使用pm2
重新启动我的服务器。
我在我的开发工具网络选项卡的屏幕截图下方添加了显示 HMR 在production
中运行的屏幕截图。 如果HMR
是浏览器重新加载的可能原因,那么我应该怎么做才能在生产中禁用它?
而且,如果由于 HMR 而没有发生“频繁重新加载”,那么它的原因是什么?
你们在生产中遇到过同样的问题吗? 如果是这样,请分享您的知识和经验。 谢谢。
编辑:我也在使用next-pwa并且我的控制台上一直显示警告 -
GenerateSW 已被多次调用,可能是由于在 --watch 模式下运行 webpack 所致。 第一次调用后生成的预缓存清单可能不准确! 请参阅https://github.com/GoogleChrome/workbox/issues/1790了解更多信息。
通过在开发时禁用pwa
来修复它
const prod = process.env.NODE_ENV === 'production'
module.exports = withPWA({
pwa: {
dest: 'public',
disable: prod ? false : true
}
})
终于找到了解决办法。 将 pm2 启动为pm2 start server --env production
时,我必须告诉我的环境模式。 它在我的浏览器上完美运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.