Angular PWA缺少ngsw.json和ngsw-worker文件

时间:2019-05-04 09:09:18

标签: progressive-web-apps angular-service-worker angular-pwa

我对@angular/pwa有疑问。构建生产模式时,我的dist文件夹中没有ngsw-worker.jsngsw.json文件。

正在使用的pwa版本是:

@angular/pwa: ^0.13.8
@angular/service-worker: ~7.1.0
@angular version 7

预先感谢

2 个答案:

答案 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)

此答案仅适用于:

nx 版本 11

现在版本 10(见下文)的解决方法不再适用!

一种解决方法是选择退出 nx ng-cli-decorate patch

引用自 nx#4452

<块引用>

要退出此补丁:

将 package.json 中出现的 nx 替换为 ng 删除 来自 package.json 中的 postinstall 脚本中的脚本删除并 重新安装您的 node_modules

nx 版本 10

为了解决问题(我们使用 nx 版本 10),我们替换了:

  • ng build client --configuration=production,variant
  • nx build client -c=production,variant

问题是,nx 没有将配置正确传递给 ng,因此 ng 没有构建生产配置(因此没有 PWA/service-worker)

nx 问题的链接: