2017-11-13 15 views
0

私はちょうど仕事箱で働き始め、私は例に次のコードで自分のサービスワーカーを生成するがぶ飲みを使用しています:https://developers.google.com/web/tools/workbox/get-started/gulpサービスワーカー、私のコードを追加する方法は?

それが適切にサービスワーカーファイルを生成しますが、私は理解していないものがどのようです自分のコードをファイルに追加できますか?

workboxSW.router.registerRoute(
 
    'https://pixabay.com/get/(.*)', 
 
    cacheOneWeekStrategy 
 
);

私は再び一気タスクを実行する場合、それは私自身のルートを上書き:私は次のルートを追加したいとしましょう。自分のコードを追加するにはどうしたらいいですか?また、イベントリスナーなどを追加したいと思っています。

更新:これまで、私はinjectManifest()を使用してworkboxSW.precache([])内のファイルに経路を挿入することができました。しかし、私はまだ何らかの形で実際のサービスワーカースクリプトをコピーする必要があります。

答えて

0

私は他の方法を考え出すことができませんでした。これが私の解決です。私はnode_modulesからワークボックスをコピーしてからsw.jsに自分のコードを書いてから、自分のコードに経路を注入するために注射マニフェストを使います。

gulp.task('copy-workbox',() => { 
 
    return gulp.src(['node_modules/workbox-sw/build/importScripts/workbox-sw.prod*.js']) 
 
    .pipe(rename('workbox.js')) 
 
    .pipe(gulp.dest('app')); 
 
}); 
 

 
gulp.task('inject-manifest',() => { 
 
    return wbBuild.injectManifest({ 
 
    swSrc: './app/sw.js', 
 
    swDest: './app/service-worker.js', 
 
    globDirectory: './app/', 
 
    globPatterns: ['**\/*.{html,js,css,png}'], 
 
    globIgnores: ['admin.html'] 
 
    }) 
 
    .then(() => { 
 
    console.log('Service worker generated.'); 
 
    }); 
 
});

UPDATE:いくつか読んだ後、私は仕事箱の名前を変更することはお勧めできません考え出しました。しかし、私はそうでなければこれを行う方法を見つけることができませんでした。

関連する問題