Angular 6升级后执行ng build --prod报错:找不到ngsw-config.json
解决Angular 6升级后
ng build --prod的Service Worker配置报错 我刚处理过Angular 6升级后类似的Service Worker配置问题,给你几个明确的步骤来解决这个报错:
1. 先确认依赖包是否安装到位
如果是升级后才启用的Service Worker,先确保@angular/service-worker包已经正确安装:
npm install @angular/service-worker --save
2. 修正angular.json的配置层级
你看到的Property ngswConfigPath is not allowed提示,本质是配置项放错了位置。在Angular 6+的angular.json里,ngswConfigPath必须和serviceWorker配置项一起,放在你的项目build配置的options节点下,而且路径要用相对路径(别加开头的斜杠)。正确的配置结构示例如下:
{ "projects": { "firebaseTest": { // 替换成你的项目名称 "architect": { "build": { "options": { // 保留你原有的其他build配置... "serviceWorker": true, "ngswConfigPath": "src/ngsw-config.json" } } } } } }
3. 不需要Service Worker就直接禁用
如果你暂时用不到Service Worker功能,那就更简单了:把angular.json里的serviceWorker设为false,同时删掉ngswConfigPath这一行配置。这样执行ng build --prod时,就不会再去查找ngsw-config.json文件了。
最后验证
修改完配置后,先跑一下ng build测试,如果没有报错,再执行ng build --prod确认问题彻底解决。
内容的提问来源于stack exchange,提问作者Nate May
相关产品推荐
相关产品推荐

