reactjs - Next.js 应用程序在生产中频繁重新加载

标签 reactjs express nginx webpack next.js

我刚刚通过 Nginx 和 pm2 在生产环境中部署了我的第一个 Next.js 应用程序。一切似乎都很好,但该应用程序经常在浏览器上一段时间后重新加载。我看到了 webpack-hmr也在我的 production 中运行服务器。 (我认为在生产中没有必要)

我正在使用自定义 server.js我使用 next build 在生产环境中运行我的应用程序然后 NODE_ENV=production node server.js命令,然后使用 pm2 重新启动我的服务器.

我在下面添加了我的开发工具的网络选项卡的屏幕截图,其中显示了在 production 上运行的 HMR .如 HMR是浏览器重新加载的可能原因,那么我应该怎么做才能在生产中禁用它?

而且,如果由于 HMR 而没有发生“频繁重新加载”,那么导致它的原因是什么?

Screenshot of my network tab of devtools showing HMR running

你们在生产中遇到过同样的问题吗?如果是这样,请分享您的知识和经验。谢谢。

编辑:我也在用 next-pwa并且我的控制台上不断显示警告 -

GenerateSW has been called multiple times, perhaps due to running webpack in --watch mode. The precache manifest generated after the first call may be inaccurate! Please see https://github.com/GoogleChrome/workbox/issues/1790 for more information.

最佳答案

通过禁用 pwa 修复它在开发时

const prod = process.env.NODE_ENV === 'production'

module.exports = withPWA({
            pwa: {
                dest: 'public',
                disable: prod ? false : true
                }
             })

关于reactjs - Next.js 应用程序在生产中频繁重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62224915/

相关文章:

javascript - redux-form - 未捕获错误 : `mapDispatchToProps`

javascript - 读取文件以在快速路径中使用

javascript - 如何自定义/覆盖 antd 样式?

javascript - 如何提高开发环境中的 Webpack 性能?

node.js - Express.js 关闭钩子(Hook)

node.js - req.user 是否传递给客户端?

nginx - Docker:如何管理开发和生产设置?

ruby-on-rails - 尝试使用 nginx 和 unicorn 将 Rails 应用程序配置为 SSL 时出现太多重定向错误

nginx - 如何配置macOS防火墙以访问Docker Nginx容器?

javascript - 拦截 react native webview 的每一个请求