【发布时间】:2019-11-01 20:22:11
【问题描述】:
我将一个 Angular 应用部署到 Firebase,但只上传了一个文件。 我遵循了许多教程,包括Get started with Firebase Hosting
部署后转到托管 URL:https://book-search-api.firebaseapp.com 我所看到的只是额外的设置,例如:
欢迎 Firebase 托管设置完成您看到这个是因为 您已成功设置 Firebase 托管。现在是时候开始构建了 非凡的东西!
这是我的 cli 输出
L:\NetProject\BooksProject\BooksProject\ClientApp>firebase 初始化
######## #### ######## ######## ######## ### ###### ######## ## ## ## ## ## ## ## ## ## ## ## ###### ## ######## ###### ######## ######### ###### ###### ## ## ## ## ## ## ## ## ## ## ## ## #### ## ## ######## ######## ## ## ###### ########您即将在此目录中初始化一个 Firebase 项目:
L:\NetProject\BooksProject\BooksProject\ClientApp
在开始之前,请记住:
- 您正在现有 Firebase 项目目录中进行初始化
?你准备好继续了吗?是的 ?您有哪些 Firebase CLI 功能 想设置这个文件夹?按 Space 选择功能,然后 输入以确认您的选择。托管:配置和部署 Firebase 托管网站
=== 项目设置
首先,让我们将此项目目录与 Firebase 项目相关联。 您可以通过运行 firebase use --add 创建多个项目别名, 但现在我们只设置一个默认项目。
i .firebaserc 已经有一个默认项目,使用 book-search-api。
=== 主机设置
您的公共目录是文件夹(相对于您的项目 目录),其中将包含要上传的托管资产 火力基地部署。如果您有资产的构建过程,请使用您的 build 的输出目录。
?你想用什么作为你的公共目录?客户端应用程序? 配置为单页应用(将所有 url 重写为 /index.html)?是的 ?文件 client-app/index.html 已经存在。覆盖?是的 + 编写客户端应用程序/index.html
i 将配置信息写入 firebase.json... i 编写项目 信息到 .firebaserc...
- Firebase 初始化完成!
L:\NetProject\BooksProject\BooksProject\ClientApp>ng build --prod --aot
日期:2019-06-19T06:54:49.906Z 哈希:0428c1e6725a31f1ae9c 时间: 41224ms 块 {0} runtime-es5.741402d1d47331ce975c.js(运行时)1.41 kB [entry] [rendered] 块 {1} main-es5.1057831c3a881ebea921.js (main) 517 kB [初始] [渲染] 块 {2} polyfills-es5.405730e5ac8f727bd7d7.js (polyfills) 111 kB [初始] [渲染] 块 {3}styles.652a17618ef377c73983.css (styles) 200 kB [初始] [渲染]
日期:2019-06-19T06:55:19.884Z 哈希:c671e9fe8c3d67a7118d 时间: 29918ms 块 {0} runtime-es2015.858f8dd898b75fe86926.js(运行时) 1.41 kB [entry] [rendered] 块 {1} main-es2015.e5390b5408abc2d4f8dd.js (main) 449 kB [initial] [rendered] 块 {2} polyfills-es2015.edf60e92366a5a261979.js (polyfills) 36.8 kB [初始] [渲染] 块 {3} styles.652a17618ef377c73983.css (样式)200 kB [初始] [渲染]
L:\NetProject\BooksProject\BooksProject\ClientApp>firebase 部署 -m “提交消息”——仅托管
=== 正在部署到“book-search-api”...
我正在部署托管我托管[book-search-api]:开始部署... 我托管[book-search-api]:在客户端应用程序中找到 1 个文件 + 托管[book-search-api]:文件上传完成 i 托管[book-search-api]:最终版本... + 托管[book-search-api]:版本最终确定 i 托管[book-search-api]:发布新版本... + 托管[book-search-api]:发布完成
- 部署完成!
项目控制台: https://console.firebase.google.com/project/book-search-api/overview 托管网址:https://book-search-api.firebaseapp.com
L:\NetProject\BooksProject\BooksProject\ClientApp>
更新
在@ShahidIslam 的帮助下,我将 firebase.json 公共属性从“client-app”更改为“dist”,然后运行
firebase deploy -m "commit message" --only 托管
现在它上传文件我认为是因为它说
=== 正在部署到“book-search-api”...
我正在部署主机 我托管[book-search-api]:开始部署... 我托管[book-search-api]:在 dist 中找到 10 个文件 + 主机[book-search-api]:文件上传完成 我托管[book-search-api]:最终版本... + 托管[book-search-api]:版本确定 我托管[book-search-api]:发布新版本... + 托管[book-search-api]:发布完成
- 部署完成!
项目控制台:https://console.firebase.google.com/project/book-search-api/overview 托管网址:https://book-search-api.firebaseapp.com
当我现在去https://book-search-api.firebaseapp.com时
它说:
页面未找到此文件不存在且没有 index.html 在当前目录或根目录下的 404.html 中找到。
为什么我会看到这个?您可能部署了错误的目录 你的申请。检查您的 firebase.json 并确保公开 directory 指向一个包含 index.html 文件的目录。
您也可以在站点根目录中添加 404.html 来替换它 带有自定义错误页面的页面。
项目如下所示:
【问题讨论】:
标签: angular firebase firebase-hosting