【发布时间】:2019-03-18 22:43:38
【问题描述】:
我在使用 VueCLI 3 附带的默认服务工作者缓存文件时遇到了一些问题。我宁愿只使用默认浏览器缓存机制,但似乎无法禁用 PWA 插件,因为它不在vue.config.js 文件。将空白对象传递给 pwa 选项也不起作用,因为该对象已合并且未覆盖。
【问题讨论】:
我在使用 VueCLI 3 附带的默认服务工作者缓存文件时遇到了一些问题。我宁愿只使用默认浏览器缓存机制,但似乎无法禁用 PWA 插件,因为它不在vue.config.js 文件。将空白对象传递给 pwa 选项也不起作用,因为该对象已合并且未覆盖。
【问题讨论】:
我通过以下方式解决了这个问题:
registerServiceWorker.js 文件main.js 中删除registerServiceWorker.js 的导入。package.json 中的devDependencies 中删除PWA 插件。 【讨论】:
manifest.json 文件,该文件通常位于/public 目录中。
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');
}
}
【讨论】: