Firebase中托管的create-react-app webapp初始加载后无法正确加载JS文件

时间:2018-12-16 03:42:34

标签: firebase create-react-app firebase-hosting

我有一个使用create-react-app构建的应用程序,并且正在Firebase托管中托管。使用npm start在开发过程中,一切在本地都可以正常工作。

当我部署到Firebase时,该站点可以正常加载并且可以正常工作。但是只加载第一页。

刷新页面后,我会在Firebase上托管的JS文件中收到有关无效Javascript的错误。

Uncaught SyntaxError: Unexpected token <

在Chrome网络检查器中,它表示JS文件是从“内存缓存”中加载的,并且在网络检查器中查看响应后,表明Chrome正在获取index.html内容,而不是JS文件内容。

在一个新的浏览器中再次进行此实验,表明Chrome实际上在初始页面加载中获取了实际的JS。

似乎有关内存缓存的某些操作不正确。进行“空缓存和硬重装”似乎并没有使Chrome实际再次拉出文件-它仍在使用内存缓存。

更多详细信息

我在SPA模式下使用Firebase托管,在该模式下,所有路径**都被重写为index.html。尽管如此,静态变量(JS,CSS,字体,图像)也可以很好地加载,因此Firebase必须足够聪明才能处理该问题。

只有JS文件无法正确缓存。例如,CSS文件可以很好地加载。

似乎其他静态变量也位于磁盘缓存中,而JS文件位于内存缓存中。

如果我重新部署新代码(因此更改JS路径以避免缓存),则该站点将再次正确加载一次,那么就会遇到相同的问题。

0 个答案:

没有答案