我对@angular/pwa
有疑问。构建生产模式时,我的dist文件夹中没有ngsw-worker.js
和ngsw.json
文件。
正在使用的pwa版本是:
@angular/pwa: ^0.13.8
@angular/service-worker: ~7.1.0
@angular version 7
预先感谢
答案 0 :(得分:0)
您可以从node_modules文件夹(从项目文件夹中的提示符)复制文件:
cp node_modules/@angular/service-worker/ngsw-worker.js ./src/ngsw-worker.js
cp node_modules/@angular/service-worker/ngsw-config.json ./ngsw-config.json
您可能还需要确保您的服务人员已注册。关于这个主题的精彩演讲,位于:https://javascript-conference.com/wp-content/uploads/2017/12/Automatic_Progressive_Web_Apps_using_Angular_Service_Worker_Maxim_Salnikov.pdf
答案 1 :(得分:0)
此答案仅适用于:
ng build client --configuration=production,variant
现在版本 10(见下文)的解决方法不再适用!
一种解决方法是选择退出 nx ng-cli-decorate patch
引用自 nx#4452:
<块引用>要退出此补丁:
将 package.json 中出现的 nx 替换为 ng 删除 来自 package.json 中的 postinstall 脚本中的脚本删除并 重新安装您的 node_modules
为了解决问题(我们使用 nx 版本 10),我们替换了:
ng build client --configuration=production,variant
nx build client -c=production,variant
问题是,nx 没有将配置正确传递给 ng
,因此 ng
没有构建生产配置(因此没有 PWA/service-worker)
nx 问题的链接: