web-dev-qa-db-fra.com

Quelle est la différence entre les modules browserify / requirejs et les modules ES6

Je suis encore nouveau sur ES6 et les chargeurs de modules et je cherche actuellement à combiner une configuration browserify avec ES6. Je me demandais si j'aurais toujours besoin de browserify/requirejs si j'utilise des modules ES6. On dirait que les deux vous permettent de définir des modules et de les exporter? Quelle est la différence entre les modules browserify/requirejs et les modules ES6?

60
joerideg

Après avoir joué pendant un certain temps, j'ai mieux compris les choses, également grâce à @Andy pour le blog d'Addy Osmani .

Il existe différents systèmes de modules : AMD (RequireJS), CommonJS (Node) et la nouvelle syntaxe du module ES6 (et l'ancien système ES5 Global bien sûr).

Cependant, si vous souhaitez les utiliser dans votre navigateur, vous devez toujours charger et câbler ces modules avec une bibliothèque de chargeurs de modules car les navigateurs ne le prennent toujours pas en charge. Pour cela, vous pouvez utiliser un chargeur de module comme RequireJS , Browserify , SystemJS ou es6-module-loader .

SystemJS est mon préféré car il vous permet de charger n'importe quel système de modules (AMD, CommonJS, ES6) et même de les utiliser de manière interchangeable dans 1 application.

Mise à jour: Entre-temps Webpack est devenu disponible et devrait également être considéré comme un chargeur de module.

68
joerideg