【发布时间】:2021-10-08 13:50:00
【问题描述】:
我正在使用 react-app-rewired 构建并尝试将应用程序转换为 PWA。我遇到的问题是它没有在构建文件夹中包含 service-worker。
config-override.js
module.exports = (config) => {
config.module.rules[1].oneOf.unshift({
test: /\.wasm$/,
type: 'javascript/auto',
loader: 'file-loader',
});
return config;
};
public/OneSignalSDKWorker.js
/* eslint-disable */
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
// importScripts('./service-worker.js');
public/OneSignalSDKWorker.js
/* eslint-disable */
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
// importScripts('./service-worker.js');
package.json
"build": "react-app-rewired build",
src/index.js
import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'connected-react-router';
import store, { history } from './store';
import App from './components/app';
import * as ServiceWorker from './serviceWorker';
const target = document.querySelector('#root');
render(
<Provider store={store}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</Provider>,
target
);
ServiceWorker.register();
【问题讨论】:
-
嗨!几个问题。未包含的服务工作是来自 OneSignal 还是您用来为 PWA 供电的普通服务人员?此外,您的问题 public/OneSignalSDKWorker.js 中提供的代码看起来像是发布了两次。你是说 OneSignalUpdaterServiceWorker.js 吗?
-
嗨!感谢您的回复。我想让我的应用程序进步,它使用 onesignal 及其服务工作者。我没有使用默认的服务人员。现在我想集成默认的服务工作者,这样我的 PWA 就可以安装了。为此,我在如何同时使用服务工作者和使用 react-app-rewired 方面遇到了挑战。
标签: reactjs service-worker onesignal