11

I want to develop the angular 6 apps, but after deploying firebase showing only welcome page.

Here are the steps I have taken to deploy.

  1. installed firebase-tools
  2. ng build --prod (in my app)
  3. firebase init
  4. Are you ready to proceed? (Y/n) y
  5. (*) Hosting: Configure and deploy Firebase Hosting sites
  6. What do you want to use as your public directory? (public) dist
  7. Configure as a single-page app (rewrite all urls to /index.html)? (y/N) y
  8. File dist/index.html already exists. Overwrite? (y/N) y
  9. Firebase initialization complete!
  10. In this step, I have deleted dist folder and run ng build --prod again
  11. angular build app in a subfolder inside dist directory hence I copied all the content from the subdirectory which contains index.html to dist/.
  12. firebase deploy
  13. firebase open hosting:site

but after doing all that I am still getting welcome page in the link.

What am I doing wrong!?

Doug Stevenson
  • 297,357
  • 32
  • 422
  • 441
rahul Kushwaha
  • 2,395
  • 7
  • 32
  • 64

11 Answers11

20

Try: 8. File dist/index.html already exists. Overwrite? (y/N) N and open link to your app in incognito mode. Seriously, I stuck for hours because this firebase index got cached in my case, so this was the reason why I could't see my app after deploy.

Lukasz Debiec
  • 224
  • 4
  • 6
3

The Problem is: firebase is looking for the index.html file, sometimes it is not present directly in the dist directory

Solution: update the public path in the firebase.json to "public":"dist/ProjectName" or path to the index.html file in the dist folder

Example

{
  "hosting": {
    "public": "dist/<YourProjectName>",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/dist/index.html"
      }
    ]
  }
}
Muhammad Shahab
  • 197
  • 1
  • 8
  • 2
    For me, I had to change the "public" value to "build/web", but that worked! Maybe because I am using Flutter to build my app? – Max May 08 '22 at 05:55
2

Browser cache was my issue as well. As mentioned above, try in incognito or use proxysite.com (very useful website) to avoid browser cache

Ivo Tsochev
  • 706
  • 5
  • 10
1

In my case, I was initializing firebase inside the project directory (src). Just check the directory you are in. It should be on the top level.

After you build it and try to deploy it, it will be the same since the web page has been cached. So to make sure use in incognito.

Abel Tilahun
  • 1,705
  • 1
  • 16
  • 25
1

In my case I had to change public to dist in firebase.json so it pointed to my dist folder (rather than the public folder which contains the holding page) after I added Firebase Functions to my project:

"hosting": {
   "public": "dist",
   ...
}

Mike Poole
  • 1,958
  • 5
  • 29
  • 41
0

Check the path on terminal .if the problem still exists then delete firebase auto created folders and deploy the project

0

Configure as a single-page app (rewrite all urls to /index.html)? No ? Set up automatic builds and deploys with GitHub? No

  • Wrote public/404.html ? File public/index.html already exists. Overwrite? No

This error is generated by index.html inside public folder of your website folder.

0

The welcome page is an automatically generated index.html file found in public folder. I replaced that file with my own index.html file, then use firebase deploy --only hosting commands to update the changes.

Mizile
  • 134
  • 1
  • 8
0

first you should login firebase login after that write command firesbe init

first steps

  1. What do you want to use as your public directory? (public) dist/projectname
  2. File dist/index.html already exists. Overwrite? (y/N) N

after completing the process you should run (npm run build) command and it generates the build file. after that you should got to firebase.json and put build folder in public directory

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/dist/index.html"
      }
    ]
  }
}

and the last not the least firebase deploy. works perfectly

avariant
  • 2,234
  • 5
  • 25
  • 33
uttam pun
  • 1
  • 2
-1

This worked for me:

  • Delete .firebase folder
  • Delete .firebaserc
  • Delete firebase.json

Now run as follow:

$ firebase init hosting
? File build/web/index.html already exists. Overwrite? No
$ firebase deploy --only hosting
Roozbeh
  • 523
  • 4
  • 11
-1

firebase init hosting ? File build/index.html already exists. Overwrite? No npm run build firebase deploy --only hosting

  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Antoine Xevlabs Jul 04 '22 at 15:42