我使用create-react-app的样板创建了一个React应用程序,这个样板似乎非常受欢迎,有时当文件更改时热重载会更新,有时不会,看起来好像有一个最短时间间隔或类似的东西。我正在使用Ubuntu操作系统,node版本为7.0,在package.json中的脚本是npm:'react-script start'
我错过了什么?
我使用create-react-app的样板创建了一个React应用程序,这个样板似乎非常受欢迎,有时当文件更改时热重载会更新,有时不会,看起来好像有一个最短时间间隔或类似的东西。我正在使用Ubuntu操作系统,node版本为7.0,在package.json中的脚本是npm:'react-script start'
我错过了什么?
当npm start无法检测到更改时,以下是create-react-app
文档提供的常见故障排除步骤 - link。
在使用npm start
运行应用程序并更新编辑器中的代码应该可以刷新浏览器以显示更新的代码。
如果没有发生这种情况,请尝试以下解决方法之一:
.env
文件(如果不存在),并添加CHOKIDAR_USEPOLLING=true
。这确保下次运行npm start
时,watcher使用必要的轮询模式,在VM内部必要时使用。max_users_watches
- 链接更多参考资料:
尝试以下方法:
max_user_watches
如果万不得已,请将此用作您的环境变量:
CHOKIDAR_USEPOLLING=true npm start
来源: https://github.com/facebookincubator/create-react-app/issues/659 https://github.com/facebookincubator/create-react-app/issues/1049#issuecomment-261731734
运行此命令
sudo -i
echo 1048576 > /proc/sys/fs/inotify/max_user_watches
exit
sudo npm start
CHOKIDAR_USEPOLLING=true npm start
有效。WSL Ubuntu 20。 - chia yongkangnpm install
。这对我有用(Ubuntu 18.04.3 LTS)。COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 7429 yipl 19u IPv4 1081760 0t0 TCP localhost:3000->localhost:35762 (ESTABLISHED)
chrome 26448 yipl 177u IPv4 1080082 0t0 TCP localhost:35762->localhost:3000 (ESTABLISHED)
现在通过进程ID结束该进程。
kill -9 7429
kill -9 26488
重新启动你的React应用程序。
如果你的应用程序出现了许多错误,它似乎会停止监视你的文件,因此无法检测到你修复损坏文件的情况。似乎你需要在启动时出现不太多/严重的错误,才能使文件观察器正常工作。
sudo npm start
我对Linux不是很了解,但这可能是由于防火墙设置,因为我在Windows上做过同样的事情,在那里启动React开发服务器需要通过防火墙授予权限,所以在这里做同样的事情,我们需要给它管理员权限(在Ubuntu Linux发行版中使用sudo)。
我最近遇到的一个额外情况是,当使用NVM并行使用多个版本的nodejs时。基本上,我有两个终端窗口,一个运行node 10.x,另一个运行node 9.x,但Webpack监视器停止检测更改。
解决方案是将它们都切换到相同的node版本。
简单的解决方案,
希望这能帮到您.. https://dev59.com/vVEG5IYBdhLWcg3weOy7#76309632
需要添加 react-error-overlay v6.0.9
并在 package.json 的 dependencies 下面添加以下内容 "resolutions": { "react-error-overlay": "6.0.9" },