私はちょうどこのarticleをJavascriptモジュールで読み終えました。 CommonJSモジュールは、AMDモジュールが非同期にロードされている間に同期的にロードされることを理解できます。javascript - 同期モジュールと非同期モジュールの仕様は何ですか?
私は理解していないと、どのように私はCommonJS形式でそれを書くか、私はAMD形式でそれを書くならば、それは非同期(async)魔法どうなるかならば魔法のように同期なるモジュールできるということです。私は、javascriptにはdefine
またはrequire
キーワードがないことを意味します。彼らはライブラリではない仕様です。
つまり、モジュールの読み込みの動作は、モジュールのローダーに依存し、モジュールの構造には依存しません。そして、それがなぜ異なったタイプのモジュールのコーディングパターンに従うのであれば?
NodeJS世界のすべてのライブラリが、書かれている書式に関係なく、同期ロードされていると仮定しています。また、ブラウザ空間のすべてのモジュールが非同期に読み込まれます。
私の上記の仮定が正しい場合、なぜUMDの仕様が存在するのでしょうか?私は、それが存在する環境に基づいてスクリプトが読み込まれた場合、ユニバーサルモジュール読み込みの仕様をなぜ作るのですか?
誰かがこの混乱を助けることができますか?
"モジュール"がどのように読み込まれてもコードに変更はありません - モジュール内のコードについてのあなたの不安はあなたの障害です –
@JaromandaXはい、なぜモジュールの仕様があるのですか?あなたは何を意味するのか詳しく教えていただけますか? –
モジュール自体は非同期か非同期かにはなりません。 CJS形式では、ブラウザでうまく動作しない同期ローダーが想定されているため、非同期の本体実行(コールバック)による依存宣言を可能にするためにAMD形式が作成されています。 AMDは同期ローダーでも動作します。 – Bergi