web-dev-qa-db-ja.com

browserify / requirejsモジュールとES6モジュールの違いは何ですか

私はまだES6とモジュールローダーが初めてで、現在browserifyセットアップとES6の組み合わせを検討しています。 ES6モジュールを使用している場合、browserify/requirejsがまだ必要かどうか疑問に思っていました。どちらもモジュールを定義してそれらをエクスポートできるように思えますか? browserify/requirejsモジュールとES6モジュールの違いは何ですか?

60
joerideg

しばらく遊んだ後、物事の理解が深まりました。 Addy Osmaniのブログ の@Andyにも感謝します。

異なるモジュールシステムがあります:AMD(RequireJS)、CommonJS(ノード)、および新しいES6モジュール構文(そしてもちろん古いES5グローバルシステム)。

ただし、ブラウザでそれらを使用する場合は、ブラウザがまだサポートしていないため、いくつかのモジュールローダーライブラリでそれらのモジュールをロードして配線する必要があります。そのためには、 RequireJSBrowserifySystemJS 、または es6-module-loader のようなモジュールローダーを使用できます。

SystemJSは、私の好きなモジュールシステム(AMD、CommonJS、ES6)を読み込むことができ、1つのアプリでそれらを交換可能に使用することもできます。

更新:その間に Webpack が利用可能になり、モジュールローダーとしても考慮されるべきです。

68
joerideg