Firebase 托管在部署 angular 6 个应用程序后显示欢迎页面?
Firebase hosting showing welcome page after deploying angular 6 app?
我想开发 angular 6 个应用程序,但在部署 firebase 后只显示欢迎页面。
以下是我采取的部署步骤。
- 已安装 firebase-tools
- ng build --prod(在我的应用中)
- firebase 初始化
- 你准备好继续了吗? (Y/n) y
- (*) 托管:配置和部署 Firebase 托管站点
- 您想将什么用作 public 目录? (public) 距离
- 配置为单页应用程序(将所有 url 重写为 /index.html)? (y/N) y
- 文件 dist/index.html 已经存在。覆盖? (y/N) y
- Firebase 初始化完成!
- 在这一步中,我删除了 dist 文件夹并再次 运行
ng build --prod
- angular 在
dist
目录的子文件夹中构建应用程序因此我将包含 index.html 的子目录中的所有内容复制到 dist/
.
- firebase 部署
- firebase 打开hosting:site
但在完成所有操作后,我仍然在 link 中看到欢迎页面。
我哪里做错了!?
尝试:
8. 文件 dist/index.html 已经存在。覆盖? (y/N) 否
并以隐身模式打开 link 到您的应用程序。说真的,我坚持了几个小时,因为这个 firebase 索引在我的案例中被缓存了,所以这就是为什么我在部署后看不到我的应用程序的原因。
浏览器缓存也是我的问题。如上所述,尝试隐身或使用proxysite.com(非常有用的网站)以避免浏览器缓存
这对我有用:
- 删除 .firebase 文件夹
- 删除.firebaserc
- 删除firebase.json
现运行如下:
$ firebase init hosting
? File build/web/index.html already exists. Overwrite? No
$ firebase deploy --only hosting
检查终端上的路径。如果问题仍然存在,则删除 firebase 自动创建的文件夹并部署项目
就我而言,我在项目目录 (src
) 中初始化 firebase。只需检查您所在的目录。它应该在顶层。
在您构建并尝试部署它之后,由于网页已被缓存,因此它将是相同的。所以要确保在 incognito
.
中使用
配置为单页应用程序(将所有 url 重写为 /index.html)?不
?使用 GitHub 设置自动构建和部署?否
- 写了public/404。html
?文件 public/index.html 已经存在。覆盖?否
此错误是由您网站文件夹的 public 文件夹中的 index.html 生成的。
问题是:
firebase 正在寻找 index.html
文件,有时它不直接存在于 dist
目录
中
解法:
将 firebase.json
中的 public
路径更新为 "public":"dist/ProjectName"
或 dist
文件夹中 index.html
文件的路径
例子
{
"hosting": {
"public": "dist/<YourProjectName>",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/dist/index.html"
}
]
}
}
我想开发 angular 6 个应用程序,但在部署 firebase 后只显示欢迎页面。
以下是我采取的部署步骤。
- 已安装 firebase-tools
- ng build --prod(在我的应用中)
- firebase 初始化
- 你准备好继续了吗? (Y/n) y
- (*) 托管:配置和部署 Firebase 托管站点
- 您想将什么用作 public 目录? (public) 距离
- 配置为单页应用程序(将所有 url 重写为 /index.html)? (y/N) y
- 文件 dist/index.html 已经存在。覆盖? (y/N) y
- Firebase 初始化完成!
- 在这一步中,我删除了 dist 文件夹并再次 运行
ng build --prod
- angular 在
dist
目录的子文件夹中构建应用程序因此我将包含 index.html 的子目录中的所有内容复制到dist/
. - firebase 部署
- firebase 打开hosting:site
但在完成所有操作后,我仍然在 link 中看到欢迎页面。
我哪里做错了!?
尝试: 8. 文件 dist/index.html 已经存在。覆盖? (y/N) 否 并以隐身模式打开 link 到您的应用程序。说真的,我坚持了几个小时,因为这个 firebase 索引在我的案例中被缓存了,所以这就是为什么我在部署后看不到我的应用程序的原因。
浏览器缓存也是我的问题。如上所述,尝试隐身或使用proxysite.com(非常有用的网站)以避免浏览器缓存
这对我有用:
- 删除 .firebase 文件夹
- 删除.firebaserc
- 删除firebase.json
现运行如下:
$ firebase init hosting
? File build/web/index.html already exists. Overwrite? No
$ firebase deploy --only hosting
检查终端上的路径。如果问题仍然存在,则删除 firebase 自动创建的文件夹并部署项目
就我而言,我在项目目录 (src
) 中初始化 firebase。只需检查您所在的目录。它应该在顶层。
在您构建并尝试部署它之后,由于网页已被缓存,因此它将是相同的。所以要确保在 incognito
.
配置为单页应用程序(将所有 url 重写为 /index.html)?不 ?使用 GitHub 设置自动构建和部署?否
- 写了public/404。html ?文件 public/index.html 已经存在。覆盖?否
此错误是由您网站文件夹的 public 文件夹中的 index.html 生成的。
问题是:
firebase 正在寻找 index.html
文件,有时它不直接存在于 dist
目录
解法:
将 firebase.json
中的 public
路径更新为 "public":"dist/ProjectName"
或 dist
文件夹中 index.html
文件的路径
例子
{
"hosting": {
"public": "dist/<YourProjectName>",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/dist/index.html"
}
]
}
}