50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @license | ||
|  |  * Copyright Google Inc. All Rights Reserved. | ||
|  |  * | ||
|  |  * Use of this source code is governed by an MIT-style license that can be | ||
|  |  * found in the LICENSE file at https://angular.io/license
 | ||
|  |  */ | ||
|  | // tslint:disable: no-duplicate-imports
 | ||
|  | import {Component} from '@angular/core'; | ||
|  | // #docregion registration-options
 | ||
|  | import {NgModule} from '@angular/core'; | ||
|  | import {BrowserModule} from '@angular/platform-browser'; | ||
|  | import {ServiceWorkerModule, SwRegistrationOptions} from '@angular/service-worker'; | ||
|  | // #enddocregion registration-options
 | ||
|  | import {SwUpdate} from '@angular/service-worker'; | ||
|  | // tslint:enable: no-duplicate-imports
 | ||
|  | 
 | ||
|  | @Component({ | ||
|  |   selector: 'example-app', | ||
|  |   template: 'SW enabled: {{ swu.isEnabled }}', | ||
|  | }) | ||
|  | export class AppComponent { | ||
|  |   constructor(readonly swu: SwUpdate) {} | ||
|  | } | ||
|  | // #docregion registration-options
 | ||
|  | 
 | ||
|  | @NgModule({ | ||
|  |   // #enddocregion registration-options
 | ||
|  |   bootstrap: [ | ||
|  |     AppComponent, | ||
|  |   ], | ||
|  |   declarations: [ | ||
|  |     AppComponent, | ||
|  |   ], | ||
|  |   // #docregion registration-options
 | ||
|  |   imports: [ | ||
|  |     BrowserModule, | ||
|  |     ServiceWorkerModule.register('ngsw-worker.js'), | ||
|  |   ], | ||
|  |   providers: [ | ||
|  |     { | ||
|  |       provide: SwRegistrationOptions, | ||
|  |       useFactory: () => ({enabled: location.search.includes('sw=true')}), | ||
|  |     }, | ||
|  |   ], | ||
|  | }) | ||
|  | export class AppModule { | ||
|  | } | ||
|  | // #enddocregion registration-options
 |