ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptのモジュール仕様は何ですか?

JavaScriptのモジュール仕様は何ですか?

青灯夜游
青灯夜游オリジナル
2022-02-18 18:30:023219ブラウズ

JavaScript モジュール仕様には、1. CommonJS 仕様、2. AMD (非同期モジュール定義) 仕様、3. CMD (共通モジュール定義) 仕様、4. UMD 仕様 (AMD と CommonJS の混合) が含まれます。

JavaScriptのモジュール仕様は何ですか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

共通の JavaScript モジュラー仕様には、CommonJS、AMD (非同期モジュール定義)、CMD (共通モジュール定義) の 3 つがあります。

サーバー: NodeJS サービス: CommonJS 仕様、新しいバージョンのノードES6 モジュール機能を有効にする

ブラウザ側: AMD 仕様と CMD 仕様が主に使用され、徐々に ES6 モジュールに置き換えられています

モジュール仕様

1. CommonJSの仕様

(1) 各ファイルはモジュールであり、各モジュールは独立したスコープを持ちます ファイル内の変数、関数はプライベートなので使用できません他のファイル内 (グローバルに割り当てられていない限り) (2) 各モジュール内では、モジュール変数が現在のモジュールを表します。 (3) 各ファイルの外部インターフェースは module.exports 属性です (4) require は、他のモジュールを参照するために使用されます。実際に取得されるのは、他のモジュールの module.exports 属性です。

2. AMD (Asynchronous Module Definition - 非同期モジュール定義) )

#AMD は、プロモーション プロセス中の RequireJS モジュール定義の標準化された出力です。

#使用して

を定義しますモジュール 定義(id?, 依存関係?, ファクトリ) ロードモジュール require([モジュール], コールバック)

##3. CMD (共通モジュール定義 - パブリック モジュール定義)

CMD SeaJS のプロモーション プロセス中のモジュール定義の標準化された出力です。

使用

モジュールを定義します 定義(ファクトリー) ロードモジュール require(id)

4. UMD (AMD と CommonJS の混合)

UMD は、最初に Node.js をサポートするかどうかを判断します。 js モジュール (エクスポート) が存在するかどうか。存在する場合は、Node.js モジュール モードを使用します。

AMD がサポートされているかどうか (define が存在するかどうか) を判断する場合、存在する場合は、AMD メソッドを使用してモジュールをロードします。

(function (window, factory) {
    if (typeof exports === 'object') {
     
        module.exports = factory();
    } else if (typeof define === 'function' && define.amd) {
     
        define(factory);
    } else {
     
        window.eventUtil = factory();
    }
})(this, function () {
    //module ...
});

【関連する推奨事項:

JavaScript 学習チュートリアル

以上がJavaScriptのモジュール仕様は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。