在加载页面时,与_next/webpack-hmr的连接中断

scyqe7ek  于 2023-10-18  发布在  Webpack
关注(0)|答案(5)|浏览(207)

使用Next.js -构建this
我正在将我的应用程序移植到next.js框架。目前,我正在重新创建身份验证系统,否则,我的应用程序的这个迭代是非常简单的。突然之间,在添加了我的保护路由(高阶组件)-不确定是否相关-我开始得到这个错误沿着与超级笨重的加载(显然)。
页面加载过程中与http://localhost:3000/_next/webpack-hmr的连接中断。
否则,一切都按预期工作。
我甚至不知道如何开始解决这类问题。有没有人有任何想法,我如何可能得到更多的信息/见解这个问题?指导如何调试?我的下一步是开始断开连接的东西,直到它消失,我猜。任何帮助将不胜感激!谢谢

qvk1mo1f

qvk1mo1f1#

这对于Websockets或SocketIO来说是一个挑战。您可能在应用中运行了不正确的配置或设置。删除导入或获得正确的配置。

vfhzx4xs

vfhzx4xs2#

这通常发生在你开发应用程序的时候
问题可能是服务工作在开发模式下一次又一次地注册到浏览器,因为浏览器完全重新加载,
打开Dev工具,检查服务工作者是否已注册。
如果它注册了,那么就取消注册,并更新你的next.js.js,这样service worker就不会在浏览器中再次注册了。
我使用的是“下一个-pwa”模块,下面是我做的检查

pwa: {
    disable: process.env.NODE_ENV === 'development',
    register: true,
    scope: '/',
    dest: 'public',
    swSrc: 'service-worker.js',
  },
rjjhvcjd

rjjhvcjd3#

根据https://github.com/zeit/next.js/issues/9776中建议的解决方案,如果您正在使用CRA,则可以取消注册Service Worker。
下面的代码显示了删除已注册的service worker的方法:
import { unregister } from './serviceWorker'
// ... unregister();
如果你已经部署了一个注册的,首先你需要构建这个代码并再次部署它将与未注册的一个部署。这样做的原因是,如果您以前使用过register,则service worker已在用户的浏览器中注册。Unregister完全删除它。如果你再次构建你的应用,主JS包将获得一个新的哈希,用户将下载它,注销将为他们删除它。

uklbhaso

uklbhaso4#

也有同样的问题。
我遵循了我研究过的各种来源的建议,没有一个奏效。在我的情况下,这是next.js.js文件中的问题。
更具体地说,在我的next.js.js文件中,我包含了一个next.js.js generateBuildId函数,但我将其留空,以便在稍后阶段重新访问算法,因为项目处于早期阶段。从这个函数返回一个有效的buildID后,警告消失了。

zysjyyx4

zysjyyx45#

我的两分钱:这发生在我使用Firefox时,连接到localhost;相同错误:

The connection to http://localhost:9009/__webpack_hmr 
  was interrupted while the page was loading.

具体来说,我运行的是start-storybook -p 9009 -s public,但这实际上与问题无关。
我解决了这个清除缓存的Web内容和网站数据在Firefox偏好:

相关问题