将 public 之外的根文件夹添加到托管 Firebase
Adding root folder outside of public to hosting Firebase
我在 Firebase 上使用不同的网站有以下结构(以处理不同的主题)。
/src
/theme-1/index.html
/theme-2/index.html
所有 "juice" 都在 src
中,文件 index.html
对于 theme-1
和 theme-2
是相同的,除了我所在的行参考 .css
文件,我实际上在其中使用了不同的 on.
目前,我只配置了一个目标,但我会在 firebase.json
中添加更多:
{
"hosting":{
"target": "theme-1",
"public": "theme-1",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{"source": "**","destination": "/theme-1/index.html"}
],
"cleanUrls": true,
"headers": [ {
"source": "**",
"headers": [ {
"key": "Cache-Control",
"value": "max-age=60"
} ]
} ]
}
}
然后我使用 cmd 命令配置我的目标以指向我的 firebase 站点:
firebase target:apply hosting theme-1 theme-1
然后部署网站:
firebase deploy
但是,当我访问该页面时(尽管它在本地工作),似乎无法找到根文件夹/src(404 错误)。
如何在我的部署中也包含文件夹 /src 以使其以相同的方式工作?
只有public
指定的目录被部署到Firebase。这个名字有点误导,因为没有 "private" files/directories.
因此,您必须执行 "public": "src"
(或者 "public": "."
,如果您还想部署 theme
目录),并相应地调整其他属性。
我在 Firebase 上使用不同的网站有以下结构(以处理不同的主题)。
/src
/theme-1/index.html
/theme-2/index.html
所有 "juice" 都在 src
中,文件 index.html
对于 theme-1
和 theme-2
是相同的,除了我所在的行参考 .css
文件,我实际上在其中使用了不同的 on.
目前,我只配置了一个目标,但我会在 firebase.json
中添加更多:
{ "hosting":{
"target": "theme-1",
"public": "theme-1",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{"source": "**","destination": "/theme-1/index.html"}
],
"cleanUrls": true,
"headers": [ {
"source": "**",
"headers": [ {
"key": "Cache-Control",
"value": "max-age=60"
} ]
} ]
}
}
然后我使用 cmd 命令配置我的目标以指向我的 firebase 站点:
firebase target:apply hosting theme-1 theme-1
然后部署网站:
firebase deploy
但是,当我访问该页面时(尽管它在本地工作),似乎无法找到根文件夹/src(404 错误)。
如何在我的部署中也包含文件夹 /src 以使其以相同的方式工作?
只有public
指定的目录被部署到Firebase。这个名字有点误导,因为没有 "private" files/directories.
因此,您必须执行 "public": "src"
(或者 "public": "."
,如果您还想部署 theme
目录),并相应地调整其他属性。