如何解决服务工作者反应中的错误?

How to resolve service worker error in react?

我在 运行 我的 React 应用程序时遇到服务工作者错误。 你能帮我看看为什么会出错吗?截图link如下,

Servier worker error message

import React from 'react';
import ReactDOM from 'react-dom';
import { createStore, applyMiddleware, compose } from 'redux';
import rootReducer from './reducers/rootReducer';
import {Provider} from 'react-redux';
import thunk from 'redux-thunk';
import config from './config/index'
import App from './App';
import './index.scss'
import * as serviceWorker from './serviceWorker';

const store = createStore(rootReducer,
  compose(
    applyMiddleware(thunk.withExtraArgument({}))
  )
);

ReactDOM.render(<Provider store={store}><App /></Provider>, document.getElementById('root'));
serviceWorker();

这是一个简单的错误 =)

看看这一行:

import * as serviceWorker from './serviceWorker';

然后看这里:

serviceWorker();

在第一行代码中,您将整个模块作为 'serviceWorker' 导入到您的文件范围中。在第二行,您试图调用该模块。但是你不能调用模块,这是不允许的。这也是错误消息在屏幕截图顶部显示的内容。

我认为你实际上应该做的是这样的:

import { register } from './serviceWorker';
...
...
register();

或类似的东西。它也可能是 registerServiceWorker 或类似的东西。查看./serviceWorker.js文件就知道了。

需要注意的一件事:我会认真考虑_不在你的项目中使用_ Service Workers,直到你确切地知道它们是如何工作的,什么他们是等等。在不真正了解 Service Worker 的情况下使用 Service Worker 非常容易导致很多问题。