我试图按照step 3 here的“添加Firebase SDK并初始化Firebase”和“来自托管URL”
我将这三个脚本包括在head
页面的public/index.html
部分中:
<script src="/__/firebase/6.4.0/firebase-app.js"></script>
<script src="/__/firebase/6.4.0/firebase-auth.js"></script>
<script src="/__/firebase/init.js"></script>
但是,由于此命令是通过create-react-app
的{{1}}命令在本地运行的,因此对react-scripts start
的所有请求都必须返回该localhost:3000/*
页面。这导致响应为“您需要启用JavaScript才能运行此应用程序”。 HTML页面,而不是位于public/index.html
URL上的实际脚本。
运行myfirebasesite.com/__firebase/*
命令时,这不是问题,因为从该命令启动的本地主机服务将按预期返回脚本。但是,以这种方式处理的缺点是我不再可以利用CRA的热重装/热模块更换。有什么办法可以将两者结合起来吗? 1)Firebase应用+身份验证+初始化脚本能否成功加载,以及2)webpack提供的热重加载/ HMR?
我很想切换到“使用模块捆绑器”方法,并将必要的Firebase软件包列为NPM依赖项,并导入使用的文件中,但是我对如何将上述两种优势结合起来感到好奇可以达到上述目的。
答案 0 :(得分:0)
我最终使用了代理配置specified here。因此,在我的package.json
目录的create-react-app
中,我包括了
"proxy": "http://localhost:5005",
唯一需要注意的是,我需要让firebase serve
和npm run start
一起在单独的终端标签中运行