Firebase URL 重写为函数和目标
Posted
技术标签:
【中文标题】Firebase URL 重写为函数和目标【英文标题】:Firebase URL rewriting to both functions and destinations 【发布时间】:2018-03-15 06:13:28 【问题描述】:我正在构建一个 React/Redux 应用程序并尝试重写为一个 Firebase 函数,而所有其他 URL 都重写为 index.html。
现在,当我在 Chrome 浏览器上执行“空缓存和硬重新加载”时,我只能获得一个 URL 来重写该函数。
这是我的 firebase.json 文件。
"database":
"rules": "database.rules.json"
,
"hosting":
"public": "build",
"rewrites": [
"source": "/Photos/**", "function": "getPhoto"
,
"source": "**", "destination": "/index.html"
]
例如,当我转到https://nameofmyapp.firebaseapp.com/Photos/2017/October/2/12345 时,我被路由到根目录(index.html),而我期望被定向到getPhoto
函数。
我唯一能够访问“/Photos/**”重写 URL 的情况是,首先在浏览器中输入 https://nameofmyapp.firebaseapp.com/Photos/2017/October/2/12345 URL,然后在 Chrome 中执行“空缓存和硬重新加载”。这是唯一一次为我执行该功能。 (不确定这是否与 service-worker 行为有关?) 即便如此,在正常刷新该 URL 时,我最终还是回到了 index.html。
谁能告诉我我错过了什么?
【问题讨论】:
【参考方案1】:我刚刚发布了very similar problem 的答案
你需要改变你的“单一应用重写”:
"hosting":
"public": "build",
"rewrites": [
"source": "/Photos/**", "function": "getPhoto"
,
"source": "!/Photos/**", "destination": "/index.html"
]
此规则不是重定向 index.html 上的所有内容(如“**”),而是重定向不在照片文件夹和子文件夹中的所有内容。
【讨论】:
以上是关于Firebase URL 重写为函数和目标的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Firebase Firestore 中存储下载 URL
Firebase.db.collection 不是函数 || Firebase v9 ||将集合文档设置为状态时引发错误
@angular/fire AngularFireStorage getDownloadUrl()
Firebase SPA 重写规则不重定向到 index.html
如何修复:“@angular/fire”'没有导出成员 'AngularFireModule'.ts(2305) ionic、firebase、angular