我已经被这个问题困住了一段时间。 我的 Angular 项目版本是 9.0.3。 @angular/fire 版本是 6.1.4
我已按照指南here
该项目为我拥有的本地 Express 服务器构建和呈现。
当我使用将呈现应用程序的云函数将项目部署到 Firebase 时,就会出现问题。
运行命令 ng deploy
会出现以下错误
Error: ENOENT: no such file or directory, open '/home/teebo/Development/motf/dist/motif/browser/index.html'
此问题与报告的问题有关 here
我调查发现在项目的dist文件夹中,生成了一个index.original.html
文件,而不是index.html
。
我打开了一个问题 here,但没有得到维护者的反馈。 如果有任何我遗漏的地方或者我可以做些什么来规避这个问题,请分享,并感谢任何建议。 任何建议,评论,任何事情。
答案 0 :(得分:0)
我找到了一种方法来规避这个问题。
这不是 ng deploy
问题的正确解决方案,但至少我可以部署 ssr 功能。
因为我的 dist 文件夹嵌套在另一个 dist 文件夹中(其中不包括 browser
构建文件夹),这就是我在运行 ng deploy
时收到错误的原因。以下是我至少能够部署的步骤。
ng deploy
(它会出现上述错误,但会构建应用程序并创建一个 dist 文件夹)。firebase deploy --only functions:ssr
部署 ssr 函数(您可以将 functions:ssr
更改为您为函数命名的任何名称)。这对我有用;
编写一个 npm 脚本来完成所有这些工作会节省时间;我不确定我的 firebase/universal 配置是否有误,或者 @angular/fire
是否存在错误。