2016-01-10 26 views
8

Quali sono i pro ei contro di utilizzare:PathLocationStrategy vs HashLocationStrategy in applicazioni web

  1. PathLocationStrategy - il default "HTML 5 pushState" stile.
  2. HashLocationStrategy: lo stile "URL hash".

per esempio, utilizzando HashLocationStrategy impedirà la funzione di scorrimento ad un elemento dal suo #ID, ma alcuni plugin 3rd parti richiedono l'HashLocationStrategy o Hashbang#! per lavorare su siti Web Ajax.

Mi piacerebbe sapere quale offre di più per una webapp.

+0

Possibile duplicato di [router Angular 2.0 non funzionante per ricaricare il browser] (http://stackoverflow.com/questions/31415052/angular-2-0-router-not-working-on-reloading-the-browser) –

+0

Il voto ravvicinato (duplicato) è stato un errore, ma non c'è modo di riprenderlo. –

risposta

3

Per me la differenza principale è che lo PathLocationStrategy richiede una configurazione sul lato server per tutti i percorsi configurati in @RouteConfig da reindirizzare alla pagina HTML principale dell'applicazione Angular2. In caso contrario, si verificheranno 404 errori durante il tentativo di ricaricare l'applicazione nel browser o tentare di accedervi utilizzando un URL specifico.

Ecco una domanda che potrebbe dare alcuni suggerimenti su questo:

Spero che ti aiuta, Thierry

+0

Mi dispiace, ma questa risposta manca solo del tutto. Non dice nulla sulla possibilità di creare ulteriore rendering lato server e memorizzazione nella cache (rendering isomorfo) e quanti vantaggi comporta. Invece di valutare le tecnologie, descrivi la soluzione a un problema che avevi. – Phil

6

# possono essere elaborati solo sul client, i server appena li ignorano. Ciò può causare problemi con i motori di ricerca (SEO), i reindirizzamenti possono causare ricariche di pagine ridondanti. Questa pagina https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling ha alcune spiegazioni dettagliate, mentre alcuni degli argomenti non si applicano alle applicazioni Angular (ad esempio - non funziona con JS disabilitato).

Lo "svantaggio" dello stato di stampa HTML5 è che richiede il supporto del server, come spiegato da Thierry.