Diciamo che voglio usare Immutable nel mio progetto (o qualsiasi pacchetto npm dato). Ho npm install
ed esso, quindi è in node_modules
. Ovviamente, ha le esportazioni di CommonJS lì. Io, tuttavia, voglio usare i moduli es6 nel mio progetto.Come utilizzare il pacchetto npm con il modulo es6 tramite Webpack e 6to5?
Sto usando Webpack per compilarlo tutto insieme, con il 6to5-loader per gestire la sintassi del modulo es6.
Nel mio file sorgente, dico import Immutable from 'immutable';
--- ma questo causa un problema perché l'ES6 import
è alla ricerca di un ES6 default
essere stato esportato, che non è il caso (per Immutabile o probabilmente qualsiasi altro NPM pacchetto). Il codice compilato ha un aspetto simile al seguente: var Immutable = require('immutable')["default"];
--- che ovviamente genera un errore, poiché non è disponibile la proprietà default
.
Posso consumare i pacchetti npm con i moduli es6?
Quindi si consiglia di utilizzare la sintassi 'import * as Immutable' OVER usando' commonInterop' e la sintassi 'import immutable' che ho descritto? La sintassi 'import * as Immutable' che cosa funzionerà nell'eventuale" cosa reale "? – davidtheclark
'commonInterop' diventerà probabilmente il [valore predefinito] (https://github.com/6to5/6to5/issues/242). Continuo a raccomandare di scriverlo in questo modo perché fino a quando le tue dipendenze sono scritte con es6 è più corretto (spec-saggio) scriverlo come 'import * as'. –