Проблема с регистрацией работника сервиса в проекте React (из npx create-Reaction-app) - PullRequest
0 голосов
/ 10 июля 2019

Надеюсь, вопрос не задавался слишком много раз.Итак, я хотел создать свой собственный файл рабочего сервиса в моем проекте React.Я назвал его «sw.js» и поместил в папку src /, в ту же папку, где находится файл «index.js», содержащий все файлы jsx.Архитектура проекта React:

  • node_modules -public -src ----- index.js ----- sw.js -package -package-lock -README

Как только страница загрузится, работник сервиса должен зарегистрироваться в браузере.Однако в Firefox у меня возникает следующая ошибка: «Не удалось зарегистрировать / обновить ServiceWorker для области» http://localhost:3000/’: Неверный тип содержимого «text / html», полученный для сценария «http://localhost:3000/sw.js’. Должно бытьJavaScript MIME-тип. "

" Ошибка работника службы DOMException: "операция небезопасна." "

Я знаю, что ошибка не связана с кодом регистрации самого работника службы,потому что он работал в стандартном проекте без реакции

вот код, регистрирующий работника службы в index.js:

render () {

    if ('serviceWorker' in navigator) {
        window.addEventListener('load', () => {
            console.log('Service Worker and Push is supported');

            navigator.serviceWorker.register('/sw.js')
                .then(swReg => {
                    console.log('Service Worker is registered', swReg);
                    this.setState({ swReg : swReg } )

                    // TODO 3.3a - call the initializeUI() function


                })
                .catch(err => {
                    console.error('Service Worker Error', err);
                });
        });
    }

Как вывидите, я поместил это в метод рендеринга моего основного компонента React

...