lavas-project / sw-register-webpack-plugin

Lavas webpack plugin: service worker register for sw.js file no-cache solution
MIT License
37 stars 7 forks source link

无法指定 scope #13

Closed easonyq closed 6 years ago

easonyq commented 6 years ago

考虑以下两种情况:

  1. 一个项目中注册多个 service-worker.js,例如多页应用 (MPA)
  2. 项目并非部署在根目录,即它拥有 base 的配置。例如项目整体放在 http://some.site.com/base/

这些情况,都需要在注册时提供 scope 参数,而目前的插件不支持。

easonyq commented 6 years ago

添加了 scope 配置项后,使用如下代码:

new SWRegisterWebpackPlugin({
    filePath: resolve(__dirname, 'templates/sw-register.js'),
    prefix: '/',
    scope: '/demo/'
})

生成的 sw-register.js 中,注册代码会变成

navigator.serviceWorker.register('/service-worker.js?v=xxxxxxx', {scope: '/demo/'})