2017-02-03 1 views
0

J'écris une bibliothèque en TypeScript que je veux compiler en un seul module CommonJS. Avec browserify, je pourrais lui donner un seul fichier, avoir ce fichier à travers tsify et babelify pour produire un fichier qui avait tous les fichiers combinés en un seul. Je veux essentiellement le même genre de fonctionnalité, mais j'en ai besoin pour aboutir à un module CommonJS à utiliser avec des systèmes compatibles CommonJS comme NodeJS au lieu du navigateur.Condenser des modules ES2015/CommonJS à un module CommonJS avec Gulp

Je rencontre des problèmes pour trouver une option ou un plug-in qui le fait. Est-ce que je regarde quelque chose?

Répondre

0

Ce que vous cherchez est --standalone ou -s Option:

Générer un paquet UMD pour le nom d'exportation fourni. Cet ensemble fonctionne avec d'autres systèmes de modules et définit le nom donné comme une fenêtre globale si aucun système de module n'est trouvé.

Utilisation de la ligne de commande:

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

Utilisation de l'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

qui est proche. Savez-vous s'il existe un moyen d'enregistrer directement l'exportation par défaut? Cette approche nécessite que les utilisateurs fassent 'myModule = require (" my_module "). Default;' pour saisir tout ce qui est exporté comme 'myModule d'exportation par défaut;' – dawsonc623

+0

UMD (Universal Module Definition) est compatible avec les trois systèmes de chargement de modules: CommonJS, AMD ou balise de script dans le navigateur. Tout ce que vous exportez d'un module sera disponible lorsque vous aurez besoin du module utilisant CommonJS. – dNitro