在 Vue CLI 3 中禁用 PWA 插件
Disable PWA plugin in Vue CLI 3
我在使用 VueCLI 3 附带的默认服务工作者缓存我的文件时遇到了一些问题。我更愿意只使用默认的浏览器缓存机制,但似乎无法禁用 PWA 插件,因为它不在 vue.config.js
文件中。将空白对象传递给 pwa
选项也不起作用,因为该对象已合并且未被覆盖。
我通过执行以下操作解决了这个问题:
- 正在删除
registerServiceWorker.js
文件
- 正在从
main.js
中移除 registerServiceWorker.js
的导入。
- 正在从
package.json
中的 devDependencies
中删除 PWA
插件。
Vue 在版本 4 中为某些构建启用了禁用 pwa 的方法。现在您可以在构建期间添加 --skip-plugins pluginname
。这个对我来说很好用:
npx vue-cli-service build --skip-plugins pwa,workbox
参考:https://cli.vuejs.org/guide/cli-service.html#skipping-plugins
有一个开放但已接受的提议,将其添加到核心功能中:
https://github.com/vuejs/vue-cli/issues/3830
编辑:
通过命令行:
https://cli.vuejs.org/guide/cli-service.html#skipping-plugins
npx vue-cli-service build --skip-plugins pwa,workbox
通过vue.config.js:
module.exports = {
chainWebpack: config => {
config.plugins.delete('pwa');
config.plugins.delete('workbox');
}
}
我在使用 VueCLI 3 附带的默认服务工作者缓存我的文件时遇到了一些问题。我更愿意只使用默认的浏览器缓存机制,但似乎无法禁用 PWA 插件,因为它不在 vue.config.js
文件中。将空白对象传递给 pwa
选项也不起作用,因为该对象已合并且未被覆盖。
我通过执行以下操作解决了这个问题:
- 正在删除
registerServiceWorker.js
文件 - 正在从
main.js
中移除registerServiceWorker.js
的导入。 - 正在从
package.json
中的devDependencies
中删除PWA
插件。
Vue 在版本 4 中为某些构建启用了禁用 pwa 的方法。现在您可以在构建期间添加 --skip-plugins pluginname
。这个对我来说很好用:
npx vue-cli-service build --skip-plugins pwa,workbox
参考:https://cli.vuejs.org/guide/cli-service.html#skipping-plugins
有一个开放但已接受的提议,将其添加到核心功能中: https://github.com/vuejs/vue-cli/issues/3830
编辑:
通过命令行: https://cli.vuejs.org/guide/cli-service.html#skipping-plugins
npx vue-cli-service build --skip-plugins pwa,workbox
通过vue.config.js:
module.exports = {
chainWebpack: config => {
config.plugins.delete('pwa');
config.plugins.delete('workbox');
}
}