2016-06-23 46 views
39

Negli esempi più recenti (seed, angular.io, ..) esiste un'altra importazione per il processo di avvio automatico: @angular/platform-browser-dynamic.@ angular/platform-browser vs. @ angular/platform-browser-dynamic

Qualcuno potrebbe spiegare, quali sono le differenze tra questo e @angular/platform-browser?

Non ci sono ancora informazioni sul sito ufficiale angular.io.

risposta

10

Se si osserva da vicino la cronologia di angular2, allora ci sono due versione 1) versione beta 2) versione candidata. Attualmente è r.c 3 (release candidate 3). Rilasciare la versione candidata significa rilasciare correzioni di errori prima della versione finale. Così, quando si sposta angular2 versione prima release candidate (RC1) a partire dalla versione beta, quindi fare qualche cambiamento directory ... per esempio

angular2/core---->@angular/core 
angular2/platform/browser------>@angular/platform-browser-dynamic 

aggiungo una Piton qui enter image description here

Per ulteriori informazioni, si prega di visitare il sito

https://github.com/angular/angular/blob/master/CHANGELOG.md

spero che troverete la risposta. Grazie

+1

Ho contrassegnato la tua risposta come accettata ma c'è un piccolo errore lì, per favore vedi il commento di @micronyks: 'angular2/platform/browser -> @ angular/platform-browser' –

+7

Mentre la storia è interessante, la il testo di questa risposta non affronta la domanda posta e implica erroneamente che il progetto angular2/platform/browser sia stato rinominato in @ angular/platform-browser-dynamic, come indicato da @ user2227400. – Aejay

55
  • piattaforma browser contiene codice condiviso per l'esecuzione del browser (filo DOM, WebWorker)
  • piattaforma browser-dinamica contiene il codice lato client che elabora modelli (attacchi, componenti, .. .) e dipendenza dipendenza riflessa

Quando si utilizza il compilatore di template offline, platform-browser-dynamic non è più necessario perché tutti gli accessi e i metadati riflessivi sono convessi ha generato il codice generato.

Se si desidera generare dinamicamente componenti come mostrato in https://stackoverflow.com/a/36017067/217408, allora è necessario il materiale dinamico.

37

La differenza tra piattaforma-browser-dinamico e piattaforma-browser è il modo in cui verrà compilata la tua app angolare.

L'utilizzo della piattaforma dinamica rende l'invio angolare del compilatore Just-in-Time sia al front-end che all'applicazione. Il che significa che la tua domanda è stata compilata sul lato client.

D'altra parte, l'utilizzo del browser della piattaforma porta a una versione precompilata Ahead-of-Time della tua richiesta inviata al browser. Questo di solito significa che un pacchetto significativamente più piccolo viene inviato al browser.

La documentazione angular2 per bootstrap su https://angular.io/docs/ts/latest/guide/ngmodule.html#!#bootstrap la spiega in modo più dettagliato.

+4

questa è la risposta più accurata.Questo spiega la differenza fondamentale, ovvero la compilazione JIT vs ahead-of-time. Altre risposte a questa domanda sono fuorvianti e complicate. –

+4

D'accordo con Sunil. Penso che questa risposta sia eccellente perché include un link ai documenti e ritengo che i documenti siano molto pertinenti e chiari. I documenti utilizzano questi acronimi/termini, che dovremmo rafforzare qui: "Ahead-of-time" = "** AOT **" = "** Statico **" vs "Just-in-Time" = "** JIT ** "=" ** ** dinamico". E i documenti hanno più dettagli, ma sono ancora * semplici e diretti *, proprio come la risposta di niliuz! Leggili! –

+0

Quindi, significa che se utilizzo 'platform-browser-dynamic', non è necessario includere' platform-browser'? –