在React项目中注册服务工作者时遇到问题(来自npx create-react-app)

时间:2019-07-10 12:44:14

标签: javascript reactjs service-worker

我希望这个问题没有被问过太多次。 因此,我想在我的React项目中创建自己的服务工作者文件。 我将其称为“ sw.js”,并将其放在src /文件夹中,该文件夹包含包含所有jsx的“ index.js”文件。 React项目的架构是:

  • node_modules -上市 -src ----- index.js ----- sw.js -包 -包装锁 -自述文件

页面加载后,服务人员应在浏览器中注册。 但是,在Firefox上,出现以下错误: “无法为范围'http://localhost:3000/注册/更新ServiceWorker:错误的内容类型为脚本'http://localhost:3000/sw.js'收到的'text / html'。必须是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组件的render方法中

0 个答案:

没有答案