web-dave / angular-starter-v2

6 stars 3 forks source link

Scaffold ngSW #37

Open web-dave opened 7 years ago

web-dave commented 7 years ago

everthing should work no changes until now

web-dave commented 7 years ago
mkdir src/ngsw
mkdir scr/ngsw/plugins
web-dave commented 7 years ago

copy @angular/service-worker/worker/builds/basic.js to src/ngsw/basic.js

web-dave commented 7 years ago
import { bootstrapServiceWorker } from '@angular/service-worker/worker';
import { Dynamic, FreshnessStrategy, PerformanceStrategy } from '@angular/service-worker/plugins/dynamic';
import { ExternalContentCache } from '@angular/service-worker/plugins/external';
import { RouteRedirection } from '@angular/service-worker/plugins/routes';
import { StaticContentCache } from '@angular/service-worker/plugins/static';
import { Push } from '@angular/service-worker/plugins/push';
web-dave commented 7 years ago
npm i -D rollup rollup-plugin-commonjs rollup-plugin-node-resolve
web-dave commented 7 years ago
touch src/ngsw/build-ngsw.js

build-ngsw.js

// imports
const rollup = require('rollup');
const nodeResolve = require('rollup-plugin-node-resolve');
const commonJs = require('rollup-plugin-commonjs');

rollup.rollup({
 entry: './src/ngsw/basic.js',
 plugins: [
   nodeResolve({jsnext: true, main: true}),
   commonJs({
     include: 'node_modules/**',
     namedExports: {
       'node_modules/jshashes/hashes.js': ['SHA1']
     }
   }),
 ],
}).then(bundle => bundle.write({
 format: 'iife',
 dest: 'dist/worker-basic.min.js',
}));
web-dave commented 7 years ago
   "build-prod": "ng build --prod && npm run build-ngsw",
   "build-ngsw": "node src/ngsw/build-ngsw.js"
web-dave commented 7 years ago
npm run build-prod