我有一个非常大的 angular 项目,它是使用 webpack 构建的(我正在使用 Microsoft 的 ASP.NET 核心模板)。有什么办法可以使用@angular/service-worker?
我已经尝试添加包并导入它,但从未构建过 Service Worker。没有错误,但我什么也没得到。使用该标志构建的新 CLI 项目按预期工作。
最佳答案
由于我没有使用CLI,因此我也在为此而苦苦挣扎。我设法通过在 npm 脚本中包含这些脚本来使其工作。
"ngsw-config": "node_modules/.bin/ngsw-config dist src/ngsw-config.json",
"ngsw-copy": "cp node_modules/@angular/service-worker/ngsw-worker.js dist/",
"build-ngsw": "npm run ngsw-config && npm run ngsw-copy"
在您的生产构建脚本中包含“build-ngsw”。
第一个脚本通过读取 ngsw-config.json(您必须创建)在您的 dist 文件夹中创建 ngsw.json 文件。第二个脚本将实际的 angular service worker 从 @angular/service-worker 复制到 dist 文件夹。
导入并注册 Service Worker。请参阅本教程中的第 3 步 Angular Service Worker Getting Started 。
关于带有 webpack 的 Angular Service Worker(没有 CLI),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48462307/