Eğer tarayıcıları ile kullanabilirsiniz, böylece içten ES6 modülleri kullanmayan tek bir JavaScript dosyası oluşturmak olduğunu ne yapmak istediğini ise/node bugün, o zaman ben Esperanto kullanmanızı öneririz (tam açıklama, ben projenin bir bakıcısıyım). Bu dosya, olmadan bütün dosyaları bir araya getirerek, tarayıcı veya webpack gibi bir şeye benzeyen bir yükleyici kullanmanıza olanak tanır. Bu genellikle daha küçük kodlar (yükleyici yok), daha iyi ölü kod giderme (Google Closure Compiler veya UglifyJS gibi bir minyatür kullanırken) ve JS yorumlayıcısının sonucu optimize edebildiği için daha iyi performans sağlar.
İşte bir örnek kullanımı, ama plenty of tools to integrate Esperanto into your workflow olduğunu unutmayın:
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);
});
Bu örnek wiki page on bundling ES6 modules alınır.
Ne demek '// Bu dosya artık birleştirilmiş senaryoya dahil değil. Bir dosyadan içe aktarmanız veya içeriğinin satır içi içermesi gerekir. Bar'ı tanımlamak için Bar'ı ayrı bir dosya olmadan içeri aktarmaya mı çalışıyorsunuz? – DaveS
Concat ile ne demek istiyorsun? İki modülün her ikisini de ihraç eden üçüncü bir dosya oluşturmanın nesi yanlış? –
@DaveS Yani "javascripts/bar" dosyası artık birleştirme sonrasında var (çünkü birleştirilmiş oldu). – Ben