Sto convertendo un progetto BackboneJS (v1.2.2) in ES6 con BabelJS.Quando utilizzare "import * as Foo" rispetto a "import Foo"?
ho notato che c'è una differenza tra:
import Backbone from 'backbone'
e
import * as Backbone from 'backbone'
Dopo aver letto here ho capito che il primo è l'importazione del esportazione di default di Backbone dove, come quest'ultimo mi permette di " importare l'intero modulo e fare riferimento alle sue esportazioni nominate tramite la notazione delle proprietà. "
Sto lottando per capire la differenza tra questi. Gli oggetti vengono restituiti in entrambe le istanze, ma il primo sembra essere decorato con proprietà/metodi aggiuntivi. Per lo meno presumerei di importare "l'intero modulo" avrebbe più proprietà/metodi ... ma sto vedendo il contrario.
Quali sono esempi di "Ulteriori oggetti/metodi"? – JMM
La prima istanza sembra decorata con proprietà di altri plugin. Ad esempio, carico il plugin "backbone.localStorage" e vedo "LocalStorage" definito su Backbone, ma, ora che ci penso, è logico perché "backbone.localStorage" si scrive sull'oggetto Backbone globale. Quest'ultimo restituisce un'istanza namespace che non sarebbe influenzata dalle modifiche di "backbone.localStorage". –