Se ciò che si vuole fare è creare un unico file JavaScript che non utilizza internamente moduli ES6, in modo che si può utilizzare con i browser/nodo oggi, quindi mi consiglia di utilizzare Esperanto (completa divulgazione, io sono un manutentore del progetto). Ti permette di creare un bundle che concatena tutti i file insieme senza l'uso di un caricatore come se avessi usato qualcosa come browserify o webpack. Di solito questo si traduce in un codice più piccolo (senza caricatore), una migliore eliminazione del codice morto (quando si utilizza un minificatore come Google Closure Compiler o UglifyJS), e prestazioni migliori come l'interprete JS è in grado di ottimizzare il risultato.
Ecco un esempio di utilizzo, ma notare che ci sono plenty of tools to integrate Esperanto into your workflow:
var fs = require('fs');
var esperanto = require('esperanto');
esperanto.bundle({
base: 'src', // optional, defaults to current dir
entry: 'mean.js' // the '.js' is optional
}).then(function (bundle) {
var cjs = bundle.toCjs();
fs.writeFile('dist/mean.js', cjs.code);
});
Questo esempio è tratto dal wiki page on bundling ES6 modules.
fonte
2015-03-04 17:01:06
Che cosa intendete per '// Questo file non esiste più nello scenario concatenato.? Devi importarlo da un file o includerne il contenuto in linea. Stai cercando di importare una barra senza un file separato per definire la barra? – DaveS
Cosa intendi per concat? Cosa c'è di sbagliato con la creazione di un terzo file che esporta entrambi gli elementi dei due moduli? –
@DaveS Significo che il file 'javascripts/bar' non esiste più dopo la concatenazione (perché è stato concatenato). – Ben