1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-07-01 16:49:22 +00:00

修复sw加载bug

This commit is contained in:
SunWuyuan 2025-06-11 15:55:53 +08:00
parent f66031cd18
commit 4029e449d8
No known key found for this signature in database
GPG Key ID: A6A54CF66F56BB64

View File

@ -25,14 +25,45 @@ export default defineConfig({
registerType: 'autoUpdate',
devOptions: {
navigateFallback: 'index.html',
enabled: false,
enabled: true,
suppressWarnings: true,
},
lang: 'zh-CN',
injectRegister: 'auto',
injectRegister: 'script',
strategies: 'generateSW',
registerSW: async () => {
if (!('serviceWorker' in navigator)) {
console.info('当前环境不支持 ServiceWorker');
return;
}
if (window.location.protocol === 'file:') {
console.info('在file://协议下ServiceWorker不可用');
return;
}
try {
const { registerSW } = await import('virtual:pwa-register');
const registration = await registerSW({
immediate: false,
onRegisteredSW() {
console.info('ServiceWorker 注册成功');
},
onRegisterError(error) {
console.warn('ServiceWorker 注册失败:', error);
}
});
if (registration) {
registration.addEventListener('error', (error) => {
console.warn('ServiceWorker 发生错误:', error);
});
}
} catch (e) {
console.warn('ServiceWorker 初始化失败:', e);
}
},
workbox: {
globPatterns: ['*'],
@ -71,11 +102,9 @@ export default defineConfig({
}
},
{
// 匹配当前域名下除了上述规则外的所有请求
urlPattern: ({ url, sameOrigin }) => {
if (!sameOrigin) return false;
const path = url.pathname;
// 排除已经由其他规则处理的路径
return !(path.includes('/assets/') || path.includes('/pwa/'));
},
handler: 'NetworkFirst',
@ -95,7 +124,9 @@ export default defineConfig({
additionalManifestEntries: [],
clientsClaim: true,
skipWaiting: true,
importScripts: ['/sw-cache-manager.js']
cleanupOutdatedCaches: true,
navigationPreload: true,
importScripts: ['./sw-cache-manager.js'],
},
manifest: {
name: 'Classworks作业板',