在 Firebase 上创建 React App 会破坏我在前端的所有 Express 端点

Posted

技术标签:

【中文标题】在 Firebase 上创建 React App 会破坏我在前端的所有 Express 端点【英文标题】:Create React App on Firebase breaks all my Express endpoints on frontend 【发布时间】:2018-03-03 11:31:07 【问题描述】:

在使用 Create React App 生产构建时,我在访问 Firebase 托管上的 Express 端点时遇到问题。

我对@9​​87654321@ 所做的唯一更改是从默认的public 文件夹切换到create-react-app/build

当我在浏览器中转到 example.com/test 时,在生产环境中使用 Create React App,它只是将我重定向回索引,但使用单独的 REST 客户端我仍然能够访问该端点。

如果我切换回firebase.json 中的默认public 文件夹并部署到生产环境,从浏览器访问此端点仍然可以正常工作,但我当然不再有 Create React App。

这里发生了什么?任何帮助表示赞赏。


更新:这与服务人员有关。通过注释掉,我能够找到临时解决方法:

import registerServiceWorker from './registerServiceWorker';

registerServiceWorker();

来自src/index.js

然后我转到 Chrome 开发者工具并从应用程序菜单中“取消注册”服务工作者。

现在我想知道如何正确实现服务工作者。

【问题讨论】:

【参考方案1】:

这可能会发生,因为当您完成firebase init 时,控制台的最后一个问题类似于 - 制作单页应用程序(将所有 URL 重定向到 index.html)。 所以你可以做的就是再次tun firebase init,然后在这个选项中选择NO。 并再次进行部署。

【讨论】:

以上是关于在 Firebase 上创建 React App 会破坏我在前端的所有 Express 端点的主要内容,如果未能解决你的问题,请参考以下文章

React native expo,您试图通过调用 firebase.app() 来使用未安装在您的 Android 项目上的 firebase 模块

基于Firebase的React Native App中的设备-设备通信

TypeError: _app.default.auth 不是一个函数 - React Native Web - Firebase

在 Firebase 托管中使用 Firebase 和 React

Expo react-native app with firebase phone authentication在web上工作,在ios模拟器上出错,在Android上崩溃而没有警告

如何删除 React App 符号和名称或“使用 create-react-app 创建的网站”?