使用以下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列出的相同选项列表,并且构建版本不会抱怨该选项。当我删除这两个选项时,构建工作。
所以我想我的问题是:
skipWaiting
,clientsClaim
是什么的“不受支持的参数”? Webpack的? PWA插件的?是workbox-webpack插件吗?在哪里可以找到正确的选项集?谢谢。
更新:我没有设置NODE-ENV的.env文件。但是,我猜想用于构建生产资产的npm run build
仅在删除两个选项后才会起作用。 dev(npm run serve
)中已删除的选项不会产生服务工作程序文件。
答案 0 :(得分:0)
您正在以InjectManifest
模式使用workbox插件,但需要为GenerateSW
传递参数。
InjectManifest
模式期望注入一个现有的service-worker文件,其路径在swSrc
中定义,而GenerateSW
将创建service-worker文件,因此接受不同的选项集(例如swDest
等)
每种模式的所有选项都可以在您在相应部分中发布的workbox-webpack-plugin的同一文档页面中找到。