npm 开始在一台计算机上保存时不刷新新内容,但在另一台计算机上具有几乎完全相同的设置

npm start not refreshing new content on save on one computer, but is on another with almost exact same setup

我的工作电脑是 Windows 10 Pro,我的笔记本电脑是 Windows 10 Home。在同一项目上工作:pushpull 到 Git。通过 Udemy 学习 React。两台计算机都使用 Chrome。两者都使用 Bash on Ubuntu on Windows with latest updates。两者都使用 ConEmu 作为控制台。两者 npm -v = 3.10.10。两者 node -v = 6.11.2。硬件明显不同,但不确定是否相关且值得列出。

无论如何,我正在玩这个入门项目,当我对其进行更改并且 npm start 是 运行 时,您可以在控制台中看到 activity,点击刷新浏览器,所做的任何更改都会反映出来。

在笔记本电脑上,此过程不起作用。进行更改,保存,控制台中没有 activity,在浏览器中刷新不会反映更改。必须重新启动 npm start 才能反映更改。至少可以说有点烦人。

知道是什么原因造成的吗?在我的谷歌搜索中真的没有遇到任何东西。

客户端

为确保客户端更改未被缓存,您可以打开 devtools > 网络,并检查 "Disable cache"。启用此功能后,只要 devtools 打开,缓存中就不会有任何内容。

或者,您可以使用隐身/隐私浏览模式来防止缓存保留内容。

服务器端

我相信您已经意识到,每次您想要查看代码更新时都需要重新启动服务器是一件很痛苦的事情。有几种工具可以检测文件更改并自动处理重新启动服务器。

如果您在WSL2.0中使用npm进行开发,请参考本文的最后一点- https://create-react-app.dev/docs/troubleshooting/#npm-start-doesnt-detect-changes

虽然 WSL1.0 不使用虚拟机,WSL2.0 does use a lightweight VM,所以添加

CHOKIDAR_USEPOLLING=true 

在项目目录中的 .env 文件中修复了问题。

在旁注中,您可能想看一下

我只是添加文件 .env 并在里面 FAST_REFRESH=false.

对我来说,在 Windows 工作,WSL2 导致这不起作用。 运行 npm start 在命令提示符下,不是 WSL 为我解决了这个问题。