繁体   English   中英

Next.js 应用在生产中频繁重新加载

[英]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 而没有发生“频繁重新加载”,那么它的原因是什么?

我的 devtools 网络选项卡的屏幕截图,显示 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM