Javascript 盖茨比热重新加载不会在Hello World初学者项目中重新加载 描述
以下是我的说明: 当我启动dev服务器并更改src/pages/index.js时,它不会在我的浏览器中重新加载Javascript 盖茨比热重新加载不会在Hello World初学者项目中重新加载 描述,javascript,reactjs,webpack-dev-server,gatsby,windows-subsystem-for-linux,Javascript,Reactjs,Webpack Dev Server,Gatsby,Windows Subsystem For Linux,以下是我的说明: 当我启动dev服务器并更改src/pages/index.js时,它不会在我的浏览器中重新加载 复制步骤 使用gatsby cli: 盖茨比新世界 cd你好世界 盖茨比发展 在src/pages/index.js中更改div内部的文本 预期结果 页面将自动重新加载新文本 实际结果 除非在浏览器中应用手动刷新,否则页面不会更改 规格 OS:在Windows 10 Pro上运行WSL的Ubuntu 18.04.3 LTS 节点:12.12.0 NPM:6.11.3 盖茨
复制步骤 使用gatsby cli:
- 盖茨比新世界
- cd你好世界
- 盖茨比发展
- 在src/pages/index.js中更改div内部的文本
预期结果 页面将自动重新加载新文本
实际结果 除非在浏览器中应用手动刷新,否则页面不会更改
规格 OS:在Windows 10 Pro上运行WSL的Ubuntu 18.04.3 LTS 节点:12.12.0 NPM:6.11.3 盖茨比CLI:2.8.8 盖茨比:2.17.6 浏览器:Chrome 77.0.3865.120,IE 11.1006.17134.0,Firefox 70.0
我尝试了多个浏览器,结果都是一样的,所以我在firefox中运行了devtools,并在进行更改时检查了控制台输出,我发现了以下错误:
The connection to http://localhost:8000/__webpack_hmr was interrupted while the page was loading. client.js:88
[HMR] Update check failed: hotDownloadManifest/</request.onreadystatechange@http://localhost:8000/commons.js:42:16
process-update.js:147
Error: Manifest request to /d528b21bff3fd2caa92d.hot-update.json timed out. bootstrap:41
Firefox can’t establish a connection to the server at http://localhost:8000/__webpack_hmr. client.js:88
http://localhost:8000/__webpack_hmr 在加载页面时被中断。client.js:88
[HMR]更新检查失败:hotDownloadManifest/我今天遇到了类似的情况。下面的步骤使其工作,但警告消息在控制台中持续存在
删除package.lock.json和node_modules文件夹
删除C:\Users\\AppData\Roaming\npm和npm缓存中的内容
执行npm i
我也有同样的问题。每当我对文件进行更改时,gatsbydevelopm热重新加载都不起作用,而且gatsbydevelopm编译代码和启动dev服务器的速度非常慢。我发现,如果我在Linux目录结构中而不是在Windows中创建我的盖茨比项目,那么一切都会很好,并且运行得很快。因此,我的解决方案如下
在WSL的/home/
目录中创建项目。只需转到/home/
,在那里用mkdir
创建一个文件夹;转到该文件夹,然后在该文件夹中运行Gatsby create my_project
命令
这样,您的项目将驻留在Linux目录结构中,使一切都能顺利运行。我正在windows上运行gatsby develop
。在尝试了很多东西后,包括wsl、npm clenaup等,我意识到我的防病毒软件sophos正在阻止webpack热重新加载套接字\uuuuWebpack\uHMR
我所要做的就是暂时禁用防病毒软件。(您可以自由卸载它,也可以更改为另一个)
希望它对你有用;)