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
							 |