简体   繁体   English

Angular 5 中的 Service Worker

[英]Service Worker in Angular 5

I am trying to utilize angular service worker in my project.我正在尝试在我的项目中使用 Angular Service Worker。 My cli and other configurations are as follows -我的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

I have created project using -service-worker flag and ngsw.config.json file is also created.我已经使用 -service-worker 标志创建了项目,并且还创建了 ngsw.config.json 文件。 My problem starts when I amtrying to register service worker.当我尝试注册 Service Worker 时,我的问题就开始了。

  1. When I am trying to register service worker using "ServiceWorkerModule.register()", 'register' method itself is not getting recognized and it is giving error.当我尝试使用“ServiceWorkerModule.register()”注册服务工作者时,“注册”方法本身没有被识别,并且出现错误。
  2. Why I am not able to see any other class like swPush etc.为什么我看不到任何其他类,如 swPush 等。

Service worker do not work without https.没有 https,Service Worker 将无法工作。

Installation will fail on http.在 http 上安装将失败。

Check this here for more info: https://developers.google.com/web/fundamentals/primers/service-workers/#you_need_https在此处查看更多信息: https : //developers.google.com/web/fundamentals/primers/service-workers/#you_need_https

You need to build your app with --prod flag.您需要使用 --prod 标志构建您的应用程序。 Otherwise, the service-worker.js and ngsw.json won't be created and they won't register.否则,不会创建 service-worker.js 和 ngsw.json,也不会注册。

you can just try the following steps:您可以尝试以下步骤:

  • ng add @angular/service-worker ng 添加@angular/service-worker

  • ng build --prod ng build --prod

  • npm i -g http-server npm i -g http-server

  • http-server -p 8080 http-服务器 -p 8080

You can get add to homescreen options too.您也可以添加到主屏幕选项。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM