何が「UMD」ですか

1072 ワード

UMDは汎用モジュール定義仕様(Universal Module Definition)と呼ばれています.また、フロントエンドの動向によって誕生したものであり、動作時またはコンパイル時に同じコードモジュールをCommonJs、CMD、さらにはAMDを使用したプロジェクトで動作させることができます.未来同じJavaScriptカバンはブラウザの端、サービスエリアの端、そしてAPPの端で運行しています.同じ書き方を守るだけでいいです.
それは独自の仕様を持っていません.CommunJs、CMD、AMDの仕様を集めています.具体的な実現を見てみます.
((root, factory) => {
    if (typeof define === 'function' && define.amd) {
        //AMD
        define(['jquery'], factory);
    } else if (typeof exports === 'object') {
        //CommonJS
        var $ = requie('jquery');
        module.exports = factory($);
    } else {
        root.testModule = factory(root.jQuery);
    }
})(this, ($) => {
    //todo
});
モジュールを定義する時に、現在の使用環境とモジュールの定義方式を検出し、さまざまなモジュール化定義方式を同じ書き方に変換することが分かります.その出現も先端技術の発展の産物で、フロントエンドはプラットフォームにまたがる道を実現する上で絶えない前進を実現して、UMD規範はブラウザーの端、サーバー端甚だしきに至ってはAPPの端を大統一して、もちろんそれは未来の最も良いモジュール化の方式ではないかもしれなくて、未来ES 6+、Type Script、Dartのこれらの高級な文法を持つ言語はこれらの方案に取って代わります.
このようにモジュール化規範の歴史道路についてもっと理解することを提案します.
  • 『CommunJsとは?』
  • 『CMDとは何か』
  • 『AMDとは?』