我正在尝试在Firebase上部署Angular应用程序,但发现了一些问题。
首先,我进入我的项目目录,并通过以下方式构建要生产的项目:
developer@developer-virtual-machine:~/Documents/Angular-WS/color_patch$ ng build --prod
项目正确构建之后,我将这个文件夹结构保存到项目的 dist 目录中:
此 / dist / 文件夹包含构建过程的输出(包括 index.html 文件)
然后我做了:
firebase init
,我选择了以下声音:托管:配置和部署Firebase托管站点
跟随它问我:
您要将什么用作公用目录? (公开):之所以写 dist 是因为在这里创建了 color_patch 目录,该目录应该是我必须部署的程序包
配置为单页应用程序(将所有网址重写为/index.html)?我写的是
文件dist / index.html已存在。覆盖? (是/否)我写的是
它完全没有问题
然后进入项目目录,并通过以下命令部署项目:
developer@developer-virtual-machine:~/Documents/Angular-WS/color_patch$ firebase deploy
它已完成且没有错误(显示“部署完成!”)
如果我进入Firebase控制台,进入“托管”部分,则可以看到我的部署以及正确上传的文件数。
问题是,尝试访问已部署应用程序的URL,我现在正在获取一个包含此消息的页面,而不是我的Web应用程序:
为什么?怎么了?我想念什么?
答案 0 :(得分:1)
当您使用Firebase init
从Firebase项目获得项目时。
这是您在文件夹中得到的。
在“项目”结构中,存在 index.html 。这是Firebase托管文档文件。
对于Angular,您只需进行少许更改即可进行部署。
像对您的内容进行更改
只需在您的Firebase初始化项目中安装角度项目
或
当您是Firebase项目的公共目录时,您必须从 angular.json 提供outputPath
。
然后像在角度项目中一样运行命令:
ng build --prod
它将在Firebase项目公用文件夹中创建要托管的文件。
然后只需运行命令:
firebase deploy
有关此的更多信息,您可以阅读此documentation