This commit is contained in:
2026-09-18 21:54:42 +03:00
parent bf6fc2ee88
commit a095cae1b5
2 changed files with 12 additions and 14 deletions

View File

@ -1,9 +1,9 @@
import * as pdfjsLib from 'pdfjs-dist';
// Используем ?url-импорт Vite — он корректно резолвится и в dev, и в prod
import workerUrl from 'pdfjs-dist/build/pdf.worker.min.mjs?url';
if (typeof window !== 'undefined') {
pdfjsLib.GlobalWorkerOptions.workerSrc = workerUrl;
}
/**
* Загрузка PDF документа

View File

@ -23,6 +23,7 @@ export default defineConfig({
injectRegister: 'auto',
workbox: {
clientsClaim: true,
// mjs добавлен, чтобы pdf.worker.min.mjs попадал в precache
globPatterns: ['**/*.{js,mjs,css,html,ico,png,svg,wasm}'],
navigateFallbackDenylist: [/^\/api\/version/],
runtimeCaching: [
@ -39,15 +40,11 @@ export default defineConfig({
statuses: [0, 200]
}
}
},
{
urlPattern: /\/assets\/.*\.(mjs|js)$/,
handler: 'CacheFirst',
options: {
cacheName: 'worker-cache',
expiration: { maxEntries: 20, maxAgeSeconds: 60 * 60 * 24 * 30 }
}
}
// ❌ Блок для /\/assets\/.*\.(mjs|js)$/ УДАЛЕН.
// Vite автоматически хэширует имена ассетов (например, pdf.worker.min-abc123.mjs)
// и добавляет их в precache. Использование CacheFirst в runtimeCaching
// для локальных бандлов приводит к тому, что "битые" версии застревают в кэше браузера.
]
},
manifest: {
@ -95,7 +92,8 @@ export default defineConfig({
},
},
},
worker: {
format: 'es',
},
// ❌ СЕКЦИЯ worker: { format: 'es' } УДАЛЕНА.
// pdfjs-dist использует Classic Worker, где глобальный this !== undefined
// и доступен importScripts(). ES-модули ломают внутреннюю инициализацию pdf.worker.
})