答案 0 :(得分:5)
这是因为当您选择" Y"时,index.html已自行修改。在初始化firebase时。它基本上已将您自己的索引文件替换为此文件。检查并替换索引文件,下次不要覆盖index.html文件。它会起作用。
答案 1 :(得分:2)
答案 2 :(得分:2)
我遇到了这个问题,
如果使用firebase init命令后有人遇到相同的问题,
检查公用文件夹中的index.html文件(以进行响应)。
它可能已被Firebase覆盖。
为了告诉Firebase不要覆盖您现有的index.html文件,
当Firebase询问您是否要覆盖现有的index.html文件时,输入'N'
答案 3 :(得分:1)
Firebase托管未显示应用程序?
此问题可能有两个原因
第一步:
确保包含index.html的公用文件夹(在firebase.json中定义)“ dist”未被firebase init命令修改,如果是,则将其替换为原始项目index.html
以供参考(dist为标准,但您可能有所不同)
{
"hosting": {
"public": "dist"
}
}
第二步:
确保在项目的index.html中配置基本href
为
< base href="https://["YOUR FIREBASE PROJECT NAME"].firebaseapp.com/">
和其他捆绑文件为
< script type="text/javascript" src="https://["YOUR FIREBASE PROJECT NAME"].firebaseapp.com/runtime.a66f828dca56eeb90e02.js"></script>
< script type="text/javascript" src="https://["YOUR FIREBASE PROJECT NAME"].firebaseapp.com/polyfills.14fc14f3e029a8cfd046.js"></script>
< script type="text/javascript" src="https://["YOUR FIREBASE PROJECT NAME"].firebaseapp.com/main.2eb2046276073df361f7.js"></script>
第三步
运行命令firebase deploy
享受! ;)
答案 4 :(得分:1)
我遇到了同样的问题。就我而言,问题不在于firebase。解决方案就是清除缓存。
答案 5 :(得分:1)
在Firebase中部署网站时,我遇到了类似的问题。
Firebase通常会创建两个默认域,即web.app和firebaseapp.com。 如果无法解决问题,请使用另一个。
这解决了我的问题。试试吧!
确保将文件上传到Firebase。
否则,请使用firebase deploy --only hosting
将文件从公共目录部署到firebase。
答案 6 :(得分:0)
我有同样的问题。请按照以下步骤操作:
firebase 初始化
*Are you ready to proceed?* Yes
Make a public folder and Copy your all files into it
*What do you want to use as your public directory?*(public) -->only press enter
*Configure as a single-page app (rewrite all urls to /index.html)?(y/N)* N
*File public/index.html already exists. Overwrite?(y/N)* No
就是这样,您的应用将托管...
答案 7 :(得分:0)
按照以下步骤进行常规部署。 https://alligator.io/angular/deploying-angular-app-to-firebase/
您必须检查 dist 文件夹中的 index.html 是否由 Firebase 重新生成。
如果是这样,您只需删除由 Firebase 修改的 html 文件并创建一个新的 index.html 文件,然后使用 index.html< 强制更新内容/strong> 实际上是通过 $ ng build --prod
创建的。现在输入$ firebase deploy --only hosting
。
因此请留意您的 index.html 文件内容及其位置。如果它的位置不是 dist 文件夹。您应该相应地为 firebase.json 文件中的 public 字段提供适当的位置。
答案 8 :(得分:0)
在某些情况下,实际上不需要什么。将所有静态文件移动到所选的公用文件夹中。使用命令
firebase deploy
,只需按ctrl + f5清除缓存。 为我做到了。
答案 9 :(得分:0)
仅解决方案是firebase部署文件为index.tml,但我们需要构建文件,因此请替换您的
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
只需用此替换您的firebase.json文件,您就会发现魔力
答案 10 :(得分:0)
由于Angular v6 CLI项目使具有共享代码库的多个应用程序变得更加容易。因此,新文件夹位于dist。
引用dotGitignore答案:
处查看如何修复我发现ng build --prod将创建一个dist和另一个 项目位置所在的子文件夹。
答案 11 :(得分:0)
部署步骤如下
步骤1:
ng build --prod
步骤2:
firebase init
*Are you ready to proceed?* Yes
*What do you want to use as your public directory?* dist/{your-application-name}
*Configure as a single-page app (rewrite all urls to /index.html)?(y/N)* Yes
*File dist/{your-application-name}/index.html already exists. Overwrite?(y/N)* No
步骤3:
firebase deploy --only hosting
如果仍然得到相同的页面,只需按“ CTRL + F5”,它将清除缓存。
答案 12 :(得分:0)
对我自己来说,问题是我给了我应用程序位置的绝对路径,>hg log -T "{file_adds % '{file}\n'}"
file3.txt
file4.txt
file2.txt
file1.txt
似乎只有相对路径。
答案 13 :(得分:0)
如果您看到此屏幕快照中的内容,则Firebase会生成另一个index.html
文件,它指向该文件而不是您自己的文件。解决方法如下:
index.html
并保留自己的名称。firebase deploy
答案 14 :(得分:0)
在运行firebase时,Firebase在项目文件夹中创建一个文件结构,并根据您的选择为公用文件创建了/ public文件夹(或其他名称,如果已指定)。在该/ public文件夹中,它还会创建一个index.html文件,其中包含您看到的欢迎消息。您需要将您的应用程序文件(网页等)移到该公用文件夹中,并随同替换该index.html文件。完成此操作后,运行命令“ firebase deploy”,它将更新,您应该会看到您的应用程序。
答案 15 :(得分:0)
在命令firebase初始化之后,转到public或dist文件夹并选择除firebase相关文件之外的所有文件(非文件夹),然后复制到dist或public文件夹中。执行完此命令后,firebase部署并等待一段时间。完成后,转到提到的网址,您将找到可以使用的应用程序。
答案 16 :(得分:-1)
对我有用的修复方法是使用firebase提供的第二个链接,而不是第一个:
使用:your-project-id.firebaseapp.com
(而不是:your-project-id.web.app
)
答案 17 :(得分:-1)
在这里我找到了问题的答案
$firebase init
$ng build --prod
$firebase deploy