2015-01-31 5 views
5

Sto utilizzando firebase init e sta creando firebase.json. firebase.json si trova nella directory root dell'app, che punta verso la mia directory pubblica app. Vedi qui:Firebase deploy 404 non trova index.html

firebase.json

{ 
    "firebase": "harrison", 
    "public": "app", 
    "ignore": [ 
    "firebase.json", 
    "**/.*", 
    "**/node_modules/**" 
    ] 
} 

Qui è dove i miei firebase.json vita: enter image description here

Ecco il mio directory pubblica, app: enter image description here

W Quando eseguo firebase deploy dalla riga di comando, tutto sembra essere caricato correttamente. Quindi eseguo firebase open o in modo equivalente al sito di distribuzione e ottengo un 404 che dice che il mio index.html non è stato trovato quando è CLEARLY nella directory specificata.

+0

Ho una configurazione simile con lo stesso problema che hai descritto. Ho persino inserito i file index.html in diverse (sotto) cartelle diverse per essere sicuro che uno di loro sarebbe stato caricato. Nessuno dei due fa. –

risposta

1

Penso di aver trovato il motivo per questo, dal momento che stavo avendo gli stessi problemi io stesso.

Se il tuo index.html si collega a risorse esterne difettose o anche a risorse interne che impiegano troppo tempo a caricarsi, si verificherà un errore. A volte si ottiene un errore di 503 e, talvolta, si ottiene un 404.

Prova ridurre il file html fino a capire quali sono le cause di un difetto

Inoltre, il link alle versioni minified di tutti gli script ei file CSS.

6

Se si utilizza Yeoman, eseguire grunt build nella directory del progetto per creare la directory /dist..

Quindi, eseguire firebase init (nella directory del progetto di nuovo) e digitare il corrispondente applicazione Firebase e basta premere invio in Directory pubblica (directory corrente).

Avanti, cambiare firebase.json a:

{ 
    "firebase": "<FirebaseAppName>", 
    "public": "./dist", 
    "ignore": [ 
    "firebase.json", 
    "**/.*", 
    "**/node_modules/**" 
    ] 
} 

Infine, eseguire firebase deploy e firebase open.

3

Nel mio caso, ho semplicemente dovuto cambiare il percorso da pubblico a ./public. Questo potrebbe essere un bug di controllo della versione. Ho aperto uno pull request.