1

我正在尝试在我的项目中使用 Angular Service Worker。我的cli和其他配置如下——

Angular CLI: 1.6.8
Node: 8.9.4
OS: win32 x64
Angular: 5.2.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cdk: 5.2.1
@angular/cli: 1.6.8
@angular/flex-layout: 2.0.0-beta.12
@angular/material: 5.2.1
@angular/service-worker: 1.0.0-beta.16
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.2.0
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
typescript: 2.4.2
webpack: 3.10.0

我已经使用 -service-worker 标志创建了项目,并且还创建了 ngsw.config.json 文件。当我尝试注册服务人员时,我的问题就开始了。

  1. 当我尝试使用“ServiceWorkerModule.register()”注册服务工作者时,“注册”方法本身没有被识别并且它给出了错误。
  2. 为什么我看不到任何其他类,如 swPush 等。
4

3 回答 3

0

您需要使用 --prod 标志构建您的应用程序。否则,service-worker.js 和 ngsw.json 将不会被创建并且它们不会注册。

于 2018-05-24T11:09:24.513 回答
0

没有 https,服务人员无法工作。

在 http 上安装将失败。

在这里查看更多信息:https ://developers.google.com/web/fundamentals/primers/service-workers/#you_need_https

于 2018-04-20T17:20:35.503 回答
0

您可以尝试以下步骤:

  • ng 添加@angular/service-worker

  • ng build --prod

  • npm i -g http-server

  • http服务器-p 8080

您也可以添加到主屏幕选项。

于 2020-03-12T07:52:18.367 回答