Angular 13 热更新失效,如何解决 WSL 环境下程序未放置在存储目录的问题?
angular 13 热更新失效
问题:
在一个 Angular 13 应用中,启用了热更新 (HMR),但更改源文件后,前端没有更新。
疑似原因:
- 环境配置错误
- 开发程序未放置在 WSL 存储目录中
环境配置:
- Node: v16.13.2
- npm: 8.3.0
- yarn: 1.22
- Angular: ~13.3.0
配置:
-
environment.js:
export const environment = { production: false, hmr: true };
-
angular.json:
{ "serve": { "builder": "@angular-devkit/build-angular:dev-server", "configurations": { "development": { "hmr": true, "browserTarget": "chengzheng-official:build:development" } } } }
分析:
经检查,环境配置和 Angular CLI 控制台已启动热更新,但实际并未生效。
解决方案:
原因在于,正在使用 WSL 中的 Node,但主程序未放置在 WSL 存储目录中。Windows 底层不支持跨内核的事件推送,因此热更新失效。
修复:
要解决此问题,需要将开发程序移动到 WSL 存储目录中。例如,可以将项目目录移动到 /mnt/d/dev/my-project。
以上就是Angular 13 热更新失效,如何解决 WSL 环境下程序未放置在存储目录的问题?的详细内容,更多请关注硕下网其它相关文章!