Je suis un nouveau programmeur qui suit le didacticiel de Firebase. J'ai parcouru les étapes 1 à 5 du didacticiel (/ - https://codelabs.developers.google.com/codelabs/firebase-web/#5 ). J'ai ajouté le code js "Ajouter Firebase à votre application Web" au fichier html et configuré la CLI de Firebase. Cependant, lorsque j'exécute le serveur firebase, tout semble fonctionner, à part qu'il ne montre pas le code du fichier index.html.
Je suis dans le bon répertoire et ma console affiche le message "Le serveur écoute à: http: // localhost: 5000 ." Mais, sur localhost 5000, il affiche un message générique "Bienvenue dans Firebase Hosting: vous constatez cela parce que vous avez correctement configuré Firebase Hosting. Il est maintenant temps de créer quelque chose d'extraordinaire!" plutôt que le code d’interface de l’application dans le fichier index.html. C'est le seul fichier html de mon répertoire. Il semble que je manque quelque chose de très simple. Merci de votre aide.
J'ai compris ma réponse. Le fichier index.html en cours de publication se trouvait dans le fichier "public" créé lors de l'étape "firebase init". J'ai remplacé ce fichier HTML réservé à celui de mon application.
Le problème est que firebase init
est incroyablement grossier. Il remplace simplement le fichier index.html
qui se trouvait dans votre dossier public
... sans confirmation, sans filet de sécurité, sans rien.
Le seul moyen de résoudre ce problème est de reproduire votre propre fichier index.html
. Si vous ne disposez pas d'une sauvegarde ou d'un autre moyen de reproduire votre fichier index.html
... eh bien ... tant pis!
Généralement, les étapes d'une configuration firebase
avec webpack (ou d'autres outils de compilation) se présentent un peu comme ceci:
firebase login
firebase init
your-build-command-here
firebase deploy
Notez que vous devez uniquement exécuter les deux premières étapes la première fois lorsque vous configurez la construction sur cette machine (ou peut-être lorsqu'une nouvelle révision de base de feu a été publiée). Pour redéployer, c'est simplement:
your-build-command-here
firebase deploy
METTRE À JOUR
Dans la dernière version, il vous demande au moins si elle doit remplacer ou non :)
Hébergement Firebase ne s'affiche pas?
Il pourrait y avoir deux raisons à ce problème
1ère étape:
Assurez-vous que votre dossier public (défini dans votre firebase.json) 'dist' contenant l'index.html n'a pas été modifié par la commande firebase init, si oui, remplacez-le par votre projet d'origine index.html
pour référence (dist est standard mais votre peut être différent)
{ "hosting": { "public": "dist"} }
2ème étape:
Assurez-vous de configurer votre href de base dans l'index du projet .html
comme
<base href="https://["YOUR FIREBASE PROJECT NAME"].firebaseapp.com/">
et d'autres fichiers bundle comme
<script type="text/javascript" src="https://["YOUR FIREBASE PROJECT NAME"].firebaseapp.com/runtime.a66f828dca56eeb90e02.js">
<script type="text/javascript" src="https://["YOUR FIREBASE PROJECT NAME"].firebaseapp.com/main.2eb2046276073df361f7.js">
3ème étape commande d'exécution - firebase deploy
prendre plaisir ! ;)
Pour angular 2 ou 6 with cli, utilisez .
(dist) comme répertoire public,
$ ng build --prod
$ cd dist/
$ firebase init
? What do you want to use as your public directory? .
? Configure as a single-page app (rewrite all urls to /index.html)? Yes
? File ./index.html already exists. Overwrite? No
$ firebase deploy
Pour déployer une application angulaire sur Firebase, un tutoriel simple et rapide Vous pouvez trouver ici .
Pendant le processus de firebase init, type N, lorsque la question "Fichier dist/index.html existe déjà. Écraser?" apparaît et votre page sera affichée comme il se doit.
Dans l'option de dossier public, écrivez dist/votre nom de dossier . Cela vous permettra de rendre votre fichier d'index qui se trouve dans votre dossier.
S'il vous plaît suivez l'étape
npm install -g firebase-tools
Si vous avez déjà un dossier dist, supprimez-le du répertoire
firebase login
ng build --prod
firebase init
firebase deploy
Dans mon cas, lorsque je lance la commande ng build --prod
, il crée un sous-dossier dans le dossier dist. Supposons que mon nom de projet est FirstProject. Je peux voir un sous-dossier appelé FirstProject dans le dossier dist (dist/FirstProject) . Donnez dist/[subDirectory] comme répertoire public
What do you want to use as your public directory? dist/FirstProject
Cela a résolu mon problème
npm install -g firebase-tools
firebase login
firebase init
firebase deploy
firebase open
Sélectionnez ce qui suit après avoir fait défiler
Hosting: Deployed Site