2017-02-03 8 views
0

Ich schreibe eine Bibliothek in TypeScript, die ich in einem einzigen CommonJS-Modul kompilieren möchte. Mit browserify, könnte ich es eine einzige Datei geben, lassen Sie diese Datei durch tsify und babelify laufen, um eine Datei zu erzeugen, die alle Dateien zu einer kombiniert hatte. Ich möchte grundsätzlich die gleiche Funktionalität haben, aber ich brauche sie, damit ein CommonJS-Modul mit CommonJS-kompatiblen Systemen wie NodeJS anstelle des Browsers verwendet werden kann.Condense ES2015/CommonJS-Module zu einem CommonJS-Modul mit Gulp

Ich habe Probleme, eine Option oder ein Plug-In zu finden, das dies tut. Übersehe ich etwas?

Antwort

0

Was Sie suchen ist --standalone oder -s Option:

Generieren eines UMD-Bundle für den mitgelieferten Exportnamen. Dieses Bündel arbeitet mit anderen Modulsystemen und setzt den Namen global als Fenster , wenn kein Modulsystem gefunden wird.

über die Befehlszeile:

browserify main.js --standalone myLib > myLib.js 

Verwendung der API:

var fs = require('fs'); 
var browserify = require('browserify'); 
var b = browserify('./main.js'); 
b.bundle({standalone: 'myLib'}).pipe(fs.createWriteStream(__dirname + '/myLib.js')); 
+0

dass in der Nähe ist. Wissen Sie, ob es eine Möglichkeit gibt, den Standardexport direkt zu registrieren? Dieser Ansatz erfordert, dass Benutzer "let myModule = require (" mein_Modul "). Default;' ergreifen, was exportiert wird wie 'default myModule exportieren;' – dawsonc623

+0

UMD (Universal Module Definition) ist kompatibel mit allen drei Modulladesystemen: CommonJS, AMD oder Skript-Tag im Browser. Alles, was Sie aus einem Modul exportieren, ist verfügbar, wenn Sie das Modul mit CommonJS benötigen. – dNitro