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
 |