vue-cli-service构建:新的workbox-webpack-plugin选项的validationError

时间:2018-11-15 18:50:53

标签: vue.js webpack workbox vue-cli-3 workbox-webpack-plugin

使用以下vue.config.js:

module.exports = {
  pwa: { 
    name: 'My App',
    ...
    workboxPluginMode: 'InjectManifest',
    workboxOptions: {
      swSrc: 'src/sw.js', //and I use "sw.js" in my registerServiceWorker.js file
      skipWaiting: true,
      clientsClaim: true,
    }
  }
}

构建期间的验证错误是'skipWaiting'和'clientsClaim'不是受支持的参数。为什么? swSrc来自here列出的相同选项列表,并且构建版本不会抱怨该选项。当我删除这两个选项时,构建工作。

所以我想我的问题是:

skipWaitingclientsClaim什么的“不受支持的参数”? Webpack的? PWA插件的?是workbox-webpack插件吗?在哪里可以找到正确的选项集?谢谢。

更新:我没有设置NODE-ENV的.env文件。但是,我猜想用于构建生产资产的npm run build仅在删除两个选项后才会起作用。 dev(npm run serve)中已删除的选项不会产生服务工作程序文件。

1 个答案:

答案 0 :(得分:0)

您正在以InjectManifest模式使用workbox插件,但需要为GenerateSW传递参数。

InjectManifest模式期望注入一个现有的service-worker文件,其路径在swSrc中定义,而GenerateSW将创建service-worker文件,因此接受不同的选项集(例如swDest等)

每种模式的所有选项都可以在您在相应部分中发布的workbox-webpack-plugin的同一文档页面中找到。