You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vite+Electron应用Cache put报错,如何在vite.config.ts禁用Service Worker?

解决Vite + Electron中Service Worker的"Request scheme 'app'"错误

这个错误是因为Electron使用app://协议加载资源,而Service Worker的Cache API仅支持HTTP/HTTPS协议,禁用Service Worker即可解决问题,具体操作如下:

1. 禁用Vite PWA插件(若已使用)

如果你的项目依赖@vitejs/plugin-pwa插件,直接在配置里关闭它:
打开vite.config.ts,找到插件配置段修改:

import { defineConfig } from 'vite'
import { VitePWA } from '@vitejs/plugin-pwa'

export default defineConfig({
  plugins: [
    // 其他项目插件
    VitePWA({ disable: true }) // 禁用PWA插件,同时关闭Service Worker功能
  ]
})

也可以直接移除VitePWA的引入和配置代码。

2. 关闭Vite自动生成Service Worker

若未使用PWA插件,但Vite存在自动生成Service Worker的配置,在build选项中禁用:

export default defineConfig({
  build: {
    serviceWorker: false // 禁止Vite自动生成Service Worker相关文件
  }
})

3. 注释掉项目中的Service Worker注册代码

检查项目入口文件(如main.ts、index.ts),找到Service Worker的注册代码并注释:

// 注释掉这段注册逻辑
// if ('serviceWorker' in navigator) {
//   navigator.serviceWorker.register('/sw.js')
//     .then(reg => console.log('Service Worker registered'))
//     .catch(err => console.error('Service Worker registration failed:', err))
// }

完成以上操作后,重新构建并运行Electron应用,该报错即可消失。

内容的提问来源于stack exchange,提问作者David Murasov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:07:36