注意:我是编码新手。
我有一个Divshot应用程序,我现在必须迁移到Firebase。它包含两个HTML文件,一个样式表和一个本地jpg文件。没有JavaScript。这是超级基础。我知道。
我已按照CLI说明操作并完成了Firebase教程。 (不确定我为什么要构建随机聊天应用程序。)我还尝试了--help命令及其建议。
" firebase.json"文件已在我的应用程序目录中创建,文件夹标记为" public"。我将html文档,样式表和jpg移动到" public"文件夹,因为CLI告诉我,公共目录中必须至少有一个文件。它应该是一个zip文件吗?
然后我再次尝试,并被告知
"公共目录不包含index.html"
尽管确实如此。
我还在每个html doc的标题中添加了firebase脚本。不确定这是否正确。
我得到的一些错误,按顺序:
错误:必须在公共目录中至少有一个文件才能部署。
(将文件移入"公共"目录)
错误:不在Firebase应用目录中(找不到firebase.json)
(idk为什么,因为它在那里)
错误:指定的公共目录不存在,无法部署托管
(这样的谎言)
答案 0 :(得分:5)
公共目录不是您当前所在的目录,而是您在询问时指定的目录
What do you want to use as your public directory?
使用firebase init
完成初始化后,当前目录应包含两个文件 firebase.json , .firebaserc 以及一个文件夹,该文件夹是索引所在的公共目录。 html文件应该是。然后你可以使用firebase deploy
部署你的网站
如果满足上述所有条件并且您当前的目录不是公共目录,请从控制台共享您的调试日志。
答案 1 :(得分:4)
对我来说,当我想部署时遇到同样的问题有这个错误:
Error: Specified public directory does not exist, can't deploy hosting
我在firebase项目的根目录中的终端中运行此代码:
纱线构建
有效!
答案 2 :(得分:0)
我遇到了同样的问题,但我通过在src文件夹中创建另一个名为'dist'的临时文件夹并将原始dist文件夹中的所有文件复制并运行'firebase deploy'来解决这个问题,并且它有效! 然后我在部署后删除了临时文件夹'dist'。
答案 3 :(得分:0)
表示无法找到名为" public"的文件夹。我移动了firebase.json& .firebaserc文件文件夹并从那里运行部署。还改变了" public" .json文件中的元素到我的项目文件夹名称。
答案 4 :(得分:0)
我通过将firebase.json文件的公共目录更新为“ /”解决了这个问题
托管:{ 上市: ”/” ...
我必须确保firebase.json文件与其他文件(index.html。...)位于同一位置
答案 5 :(得分:0)
在 firebase.json 中,我DID A(角)“ dist /”
{
"hosting": {
"public": "dist/",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
答案 6 :(得分:0)
用于消除Firebase托管部署错误(同样如果您要更新现有托管网站)
您可以再次进行处理
1] firebase login
2] firebase init
3] firebase deploy
确保您当前的文件夹有两件事: 公用文件夹(包含所有网站文件,如css图片等,包括index.html)和firebase.json文件
答案 7 :(得分:0)
我遇到了同样的问题(角度),但是我通过运行'npm run-script build'然后是'firebase deploy'解决了问题。 :)
答案 8 :(得分:0)
尝试ng build --prod
,然后尝试firebase deploy
。
如果您使用 Github-auto-deploy:
将 "public": "dist/X",
放入您的 firebase.json
其中 X=您的项目名称