test
This commit is contained in:
@ -1,9 +1,9 @@
|
|||||||
import * as pdfjsLib from 'pdfjs-dist';
|
import * as pdfjsLib from 'pdfjs-dist';
|
||||||
|
|
||||||
// Используем ?url-импорт Vite — он корректно резолвится и в dev, и в prod
|
|
||||||
import workerUrl from 'pdfjs-dist/build/pdf.worker.min.mjs?url';
|
import workerUrl from 'pdfjs-dist/build/pdf.worker.min.mjs?url';
|
||||||
|
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
pdfjsLib.GlobalWorkerOptions.workerSrc = workerUrl;
|
pdfjsLib.GlobalWorkerOptions.workerSrc = workerUrl;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Загрузка PDF документа
|
* Загрузка PDF документа
|
||||||
|
|||||||
@ -23,6 +23,7 @@ export default defineConfig({
|
|||||||
injectRegister: 'auto',
|
injectRegister: 'auto',
|
||||||
workbox: {
|
workbox: {
|
||||||
clientsClaim: true,
|
clientsClaim: true,
|
||||||
|
// mjs добавлен, чтобы pdf.worker.min.mjs попадал в precache
|
||||||
globPatterns: ['**/*.{js,mjs,css,html,ico,png,svg,wasm}'],
|
globPatterns: ['**/*.{js,mjs,css,html,ico,png,svg,wasm}'],
|
||||||
navigateFallbackDenylist: [/^\/api\/version/],
|
navigateFallbackDenylist: [/^\/api\/version/],
|
||||||
runtimeCaching: [
|
runtimeCaching: [
|
||||||
@ -39,15 +40,11 @@ export default defineConfig({
|
|||||||
statuses: [0, 200]
|
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: {
|
manifest: {
|
||||||
@ -95,7 +92,8 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
worker: {
|
|
||||||
format: 'es',
|
// ❌ СЕКЦИЯ worker: { format: 'es' } УДАЛЕНА.
|
||||||
},
|
// pdfjs-dist использует Classic Worker, где глобальный this !== undefined
|
||||||
|
// и доступен importScripts(). ES-модули ломают внутреннюю инициализацию pdf.worker.
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user