我有一个问题@angular/pwa
。当我在生产模式下构建时,我没有在我的 dist 文件夹中获取ngsw-worker.js
文件ngsw.json
。
我使用的 pwa 版本是:
@angular/pwa: ^0.13.8
@angular/service-worker: ~7.1.0
@angular version 7
提前致谢
我有一个问题@angular/pwa
。当我在生产模式下构建时,我没有在我的 dist 文件夹中获取ngsw-worker.js
文件ngsw.json
。
我使用的 pwa 版本是:
@angular/pwa: ^0.13.8
@angular/service-worker: ~7.1.0
@angular version 7
提前致谢
此答案仅在以下情况下相关:
现在版本 10(见下文)的解决方法不再有效!
一种解决方法是选择退出 nx ng-cli-decorate 补丁
引自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问题的链接:
您可以从 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