vue-cli-service 构建:新 workbox-webpack-plugin 选项的验证错误
vue-cli-service build: validationError for new workbox-webpack-plugin options
具有以下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
是什么的"not a supported parameter"? webpack的? PWA插件的? workbox-webpack 插件的?我在哪里可以找到正确的选项集?谢谢。
更新:我没有设置 NODE-ENV 的 .env 文件。但是 npm run build
我猜构建生产资产才有效 只有当我删除 2 个选项 时。 dev (npm run serve
) 中删除的选项不会产生任何服务工作者文件。
您正在 InjectManifest
模式下使用 workbox 插件,但为 GenerateSW
传递参数。
InjectManifest
模式期望注入一个现有的 service-worker 文件,它的路径在 swSrc
中定义,而 GenerateSW
将创建 service-worker 文件,因此接受不同的集合选项(例如 swDest
,等等)
每种模式的所有选项都可以在您在相应部分中发布的 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 并且构建不会抱怨该选项。当我删除这两个选项时,构建工作正常。
所以我想我的问题是:
skipWaiting
、clientsClaim
是什么的"not a supported parameter"? webpack的? PWA插件的? workbox-webpack 插件的?我在哪里可以找到正确的选项集?谢谢。
更新:我没有设置 NODE-ENV 的 .env 文件。但是 npm run build
我猜构建生产资产才有效 只有当我删除 2 个选项 时。 dev (npm run serve
) 中删除的选项不会产生任何服务工作者文件。
您正在 InjectManifest
模式下使用 workbox 插件,但为 GenerateSW
传递参数。
InjectManifest
模式期望注入一个现有的 service-worker 文件,它的路径在 swSrc
中定义,而 GenerateSW
将创建 service-worker 文件,因此接受不同的集合选项(例如 swDest
,等等)
每种模式的所有选项都可以在您在相应部分中发布的 workbox-webpack-plugin 的同一文档页面上找到。