@budarin/vite-plugin-allow-start-sw-from-root
v1.0.3
Published
Vite plugin to allow service worker start from root of a project
Downloads
58
Maintainers
Readme
vite-plugin-allow-start-sw-from-root
Vite плагин для разрешения запуска service worker из корня проекта.
Описание
Этот плагин добавляет HTTP-заголовок Service-Worker-Allowed: / к ответам сервера разработки Vite для service worker файлов. Это позволяет service worker'у работать из корня проекта, даже если файл service worker находится в подкаталоге.
Установка
npm install @budarin/vite-plugin-allow-start-sw-from-root
# или
pnpm add @budarin/vite-plugin-allow-start-sw-from-root
# или
yarn add @budarin/vite-plugin-allow-start-sw-from-rootИспользование
Добавьте плагин в ваш vite.config.ts:
import { defineConfig } from 'vite';
import { allowStartSwFromRootPlugin } from '@budarin/vite-plugin-allow-start-sw-from-root';
export default defineConfig({
plugins: [
allowStartSwFromRootPlugin('/path/to/service-worker.js'),
// ... другие плагины
],
});Пример
Если ваш service worker находится в public/sw.js:
import { defineConfig } from 'vite';
import { allowStartSwFromRootPlugin } from '@budarin/vite-plugin-allow-start-sw-from-root';
export default defineConfig({
plugins: [allowStartSwFromRootPlugin('/sw.js')],
});Зачем это нужно?
По умолчанию service worker может контролировать только страницы, которые находятся в той же директории или в поддиректориях относительно расположения файла service worker. Если ваш service worker находится в подкаталоге (например, /assets/sw.js), он не сможет контролировать страницы в корне проекта.
Установка заголовка Service-Worker-Allowed: / позволяет service worker'у контролировать все страницы, начиная с корня проекта (/), независимо от его фактического расположения.
Важно
- Для production сборки вам нужно настроить ваш сервер для добавления этого заголовка
Требования
- Vite >= 5.0.0
Лицензия
MIT
