reactjs - React PWA 中的 Firebase 云消息传递错误
问题描述
我正在尝试将 FCM 添加到我的 Reactjs PWA 中,但我无法解决以下错误
这是一个非常基本的应用程序,它从 firebase 获取一些数据并将其显示在屏幕上。
firebase-messaging-sw.js:
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-messaging.js')
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register(`../firebase-messaging-sw.js`)
.then(function(registration) {
console.log('Registration successful, scope is:', registration.scope);
}).catch(function(err) {
console.log('Service worker registration failed, error:', err);
});
}
firebase.initializeApp({
messagingSenderId: SENDER_ID,
})
const initMessaging = firebase.messaging()
应用程序.js:
import React from 'react';
import './App.css';
import Routing from './Components/Routing';
import { BrowserRouter } from 'react-router-dom';
import fire from './config/fire';
function App() {
React.useEffect(() => {
const msg=fire.messaging();
msg.requestPermission().then(()=>{
return msg.getToken();
}).then((data)=>{
console.warn("token",data)
})
})
return (
<BrowserRouter basename={process.env.PUBLIC_URL}>
<div className="App">
<Routing />
</div>
</BrowserRouter>
);
}
export default App;
我猜测这是因为它在链接上找不到任何文件,http://localhost:3000/firebase-messaging-sw.js
因此默认情况下react-router
它正在返回index.html
文件。
解决方案
推荐阅读
- c++ - 为什么没有调用我课堂上的移动作业?
- node.js - 为什么承诺拒绝不处理错误
- django - 如何根据用户的权限正确处理请求 Django
- r - 是否可以在将 as_grouped_data 与 flextable 一起使用时有条件地格式化行?
- rust - 是否可以用另一个变体引用自身的枚举变体?
- git - Git 上的两个分支是 1 次提交,但代码没有差异
- azure-pipelines - Azure Pipelines (YAML) - 运行脚本并传入参数
- tableau-api - 如何使用 REST API 提取 Tableau 的数据
- javascript - 反应性属性未传播到 Vue 3 应用程序中的组件
- apache - 什么是 Apache RewriteCond 标志?