在 Vue CLI 3 中禁用 PWA 插件

Disable PWA plugin in Vue CLI 3

我在使用 VueCLI 3 附带的默认服务工作者缓存我的文件时遇到了一些问题。我更愿意只使用默认的浏览器缓存机制,但似乎无法禁用 PWA 插件,因为它不在 vue.config.js 文件中。将空白对象传递给 pwa 选项也不起作用,因为该对象已合并且未被覆盖。

我通过执行以下操作解决了这个问题:

  1. 正在删除 registerServiceWorker.js 文件
  2. 正在从 main.js 中移除 registerServiceWorker.js 的导入。
  3. 正在从 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');
  }
}