Зарегистрируйте сервисного работника в веб-пакете - PullRequest
0 голосов
/ 18 марта 2019

Я использую веб-пакет для создания своего приложения React. Я не могу понять, как указать путь к моему работнику службы. В файле index.js я успешно получаю сообщение о регистрации, но не могу получить доступ к файлу работника службы в public/serviceWorker.js

Конфигурация WebPack

 plugins: [
    new HtmlWebpackPlugin({
        filename: 'index.html',
        template: 'public/index.html',
        favicon: 'public/favicon.ico'
    }),
    new MiniCssExtractPlugin({
        filename: 'style.css'
    }),
    new WorkboxPlugin.GenerateSW({
        swDest: path.join(__dirname, 'build/serviceWorker.js'),
        clientsClaim: true,
        skipWaiting: true
    })
],

index.js

  if ('serviceWorker' in navigator) {
    window.addEventListener('load', () => {
        navigator.serviceWorker.register('serviceWorker.js')
            .then((registration) => {
                registration.pushManager.subscribe({
                    userVisibleOnly: true,
                    applicationServerKey: convertedVapidKey
                })
                    .then((subscription) => {
                        sendSubscriptionToServer(subscription)
                    })
                    .catch((error) => {
                        console.log(error)
                    })
            })
            .catch((error) => {
                console.log(error);
            })
    })
}
...