mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-07-02 09:19:23 +00:00
修复sw加载bug
This commit is contained in:
parent
f66031cd18
commit
4029e449d8
@ -25,14 +25,45 @@ export default defineConfig({
|
|||||||
registerType: 'autoUpdate',
|
registerType: 'autoUpdate',
|
||||||
devOptions: {
|
devOptions: {
|
||||||
navigateFallback: 'index.html',
|
navigateFallback: 'index.html',
|
||||||
enabled: false,
|
enabled: true,
|
||||||
suppressWarnings: true,
|
suppressWarnings: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
lang: 'zh-CN',
|
lang: 'zh-CN',
|
||||||
injectRegister: 'auto',
|
injectRegister: 'script',
|
||||||
strategies: 'generateSW',
|
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: {
|
workbox: {
|
||||||
globPatterns: ['*'],
|
globPatterns: ['*'],
|
||||||
@ -71,11 +102,9 @@ export default defineConfig({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// 匹配当前域名下除了上述规则外的所有请求
|
|
||||||
urlPattern: ({ url, sameOrigin }) => {
|
urlPattern: ({ url, sameOrigin }) => {
|
||||||
if (!sameOrigin) return false;
|
if (!sameOrigin) return false;
|
||||||
const path = url.pathname;
|
const path = url.pathname;
|
||||||
// 排除已经由其他规则处理的路径
|
|
||||||
return !(path.includes('/assets/') || path.includes('/pwa/'));
|
return !(path.includes('/assets/') || path.includes('/pwa/'));
|
||||||
},
|
},
|
||||||
handler: 'NetworkFirst',
|
handler: 'NetworkFirst',
|
||||||
@ -95,7 +124,9 @@ export default defineConfig({
|
|||||||
additionalManifestEntries: [],
|
additionalManifestEntries: [],
|
||||||
clientsClaim: true,
|
clientsClaim: true,
|
||||||
skipWaiting: true,
|
skipWaiting: true,
|
||||||
importScripts: ['/sw-cache-manager.js']
|
cleanupOutdatedCaches: true,
|
||||||
|
navigationPreload: true,
|
||||||
|
importScripts: ['./sw-cache-manager.js'],
|
||||||
},
|
},
|
||||||
manifest: {
|
manifest: {
|
||||||
name: 'Classworks作业板',
|
name: 'Classworks作业板',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user