根据工作要求调整环境后,热重载停止工作

Hot reload stopped working after adjusting environment for work requirements

几天前我开始了一个新的开发者角色,为了适应工作做了一些环境改变。从那以后,我的 reload/fast 热刷新就完全停止工作了。即使我手动刷新页面也不会显示更改。仅当我停止开发服务器并使用 'npm run dev' 重新启动它时才显示更改。右下角的三角形指示器应该处于活动状态,显示 window 的活动重新加载(这也不再始终显示,如果重新加载页面,但遗憾的是,建议的更改不可见)

上下文:

有人对我接下来应该尝试什么有任何想法或线索吗?它与我为工作安装的东西有关吗?与 VS 代码或 WSL2 相关的东西?似乎很令人费解,好像是一夜之间发生的。感谢您的任何见解或建议!

系统信息 OS: Windows(VS 代码的 WSL2 虚拟化) 浏览器:Chrome Next.js 的版本:10.0.3 Node.js 版本:14.8.0 部署:npm 运行 dev 用于开发工作;为 AWS 托管扩大发布

谢谢,我遇到了与 WSL2 相同的问题。我只是切换到 windows 终端,它可以工作。

问题出在 WSL2 上。我在 VS Code 中使用 WSL2;这是 Linux 环境中的重大性能升级。问题是 WSL2 实际上在 'virtualization' 中,因此无法同时从 VS Code 和浏览器 (localhost:3000) 发送信息。

这是他们正在解决的一个大问题,目前还没有解决办法。这就是快速刷新不起作用的原因,因为 localhost 没有收到所做的更改。通过代理或恢复到 WSL1 https://github.com/microsoft/WSL/issues/4769

OP 在问题部分提供的解决方案

如果您 运行 Poweshell 作为管理员并且 运行

wsl.exe -l -v

这将为您提供 wsl 版本 运行。

我个人使用Ubuntu,这是输出

Ubuntu Running 2 docker-desktop Stopped 2 docker-desktop-data Stopped 2

要切换到 wsl 1,

运行 wsl.exe --set-version Ubuntu 1

如果你想切换回来, 运行, wsl.exe --set-version Ubuntu 2.

这对我有用。

在我的 React 项目中,我只是在根项目文件夹的 .env 文件中添加值

FAST_REFRESH=false  
CHOKIDAR_USEPOLLING=true

而且有效!享受!

.env 文件或 .env.local 文件添加到您的根目录并在其上放置以下行:

WATCHPACK_POLLING=true 

现在,重新启动您的服务器。