带有 ReactJS 和 Webpack 的 Firebase FCM 无法正常工作:我们无法注册默认服务工作者
Posted
技术标签:
【中文标题】带有 ReactJS 和 Webpack 的 Firebase FCM 无法正常工作:我们无法注册默认服务工作者【英文标题】:Firebase FCM with ReactJS and Webpack not working: We are unable to register the default service worker 【发布时间】:2018-06-21 23:40:44 【问题描述】:与几乎相同问题的相关问题:Firebase FCM React project issue - firebase-messaging-sw.js wrong type?
这个问题或任何其他问题的答案对我都不起作用,下面是项目树的屏幕截图,其中包含 firebase-messaging-sw.js 文件,因为添加它是解决此问题的建议。
我想知道我是否只是做错了,或者为什么我无法注册 sw 以供 firebase 使用。
来自开发者工具控制台的原始错误: “注册 ServiceWorker 失败:获取脚本时收到错误的 HTTP 响应代码 (404)。”
【问题讨论】:
SW 安装应通过 2 个条件,1st 站点应使用 https/localhost 2nd 您应包括service_worker.js
。你包括service_worker.js
..?
如何在本地主机上获得 SSL 证书?包含 service_worker.js 是什么意思?比如是我必须下载的库还是什么?
抱歉这个 https/localhost ...它是https or localhost
...!您的 firebase-messaging-sw.js
将有助于获取 FCM 推送通知,您必须单独包含 service-worker.js
文件。
查看此文档developers.google.com/web/updates/2015/03/…
这是 sw.js developers.google.com/web/fundamentals/codelabs/…的详细说明
【参考方案1】:
作为对这个问题的回答,这是我的另一篇文章,我自己也设法解决了。 FirebaseError - messaging/failed-serviceworker-registration
所以基本上使用一个非常特定版本的 webpack-dev-server,添加一个可以具有任何名称的 sw 文件,并将该文件注册为服务工作者以便 fireabse 在我的 firebase 消息传递初始化文件中使用,我设法得到使用 webpack 的 firebase 云消息传递。 webpack-dev-server 的版本是 2.11.0。
希望这可以帮助解决此问题的任何人。
【讨论】:
以上是关于带有 ReactJS 和 Webpack 的 Firebase FCM 无法正常工作:我们无法注册默认服务工作者的主要内容,如果未能解决你的问题,请参考以下文章
带有热重载的 ReactJS 服务器端渲染 (webpack-dev-server)
ReactJS 和 Webpack 模块联合应用程序在部署到云端时包含未定义的 url
如何使用带有羽毛/快递的 webpack-dev-middleware?
ReactJs - 将带有嵌套 React 组件的原始 HTML 转换为 JSX