ホームページ ウェブフロントエンド jsチュートリアル フロントエンドでモジュール性を使用する必要があるのはなぜですか?

フロントエンドでモジュール性を使用する必要があるのはなぜですか?

Mar 14, 2018 pm 01:50 PM
なぜ フロントエンド モジュラー

今回は、なぜフロントエンドでモジュール化を使用する必要があるのか​​をお届けします。 、フロントエンドのモジュール化に関する 注意事項 は何ですか? ここで実際のケースを見てみましょう。

CMD、AMD、CommonJS 仕様とは何を指しますか?どのようなアプリケーションがありますか?

AMD (非同期モジュール定義) は、モジュールと依存関係を段階的にロードできるメカニズムを指定します。これは特に、CommonJS 仕様の拡張でもあるブラウザ側での非同期読み込みに当てはまります。 12

Syntax

define(id?, dependency?, Factory);1

id: 定義内のモジュールの名前 (オプション)、このパラメーターが指定されていない場合、モジュール名はデフォルトのモジュール名になります。モジュールローダーから要求されたスクリプトの名前を指定します。 。

依存関係: 現在のモジュールが依存する配列リテラルであり、モジュールによって定義されたモジュールによって識別されます。 依存関係パラメーターはオプションです。このパラメーターを省略した場合、デフォルトで ["require", "exports", "module"] になります。ただし、ファクトリ メソッドの長さ属性が 3 未満の場合、ローダーは関数の長さ属性で指定された引数の数でファクトリ メソッドを呼び出すことを選択します。

ファクトリ メソッド ファクトリ: モジュールは、実行される関数またはオブジェクトを初期化します。関数の場合は、一度だけ実行する必要があります。それがオブジェクトの場合、このオブジェクトはモジュールの出力値である必要があります。

define('modal', ['jQuery', 'dialog'], function($, Dialog){$('.modal').show();
Dialog.open();
});1234
ログイン後にコピー

AMD のライブラリには、RequireJS、curl、Dojo などが含まれます。 CommonJSはサーバーサイドモジュールの仕様であり、Node.jsはこの仕様を採用しています。 Node.JS は、js モジュール性の概念を初めて採用しました。モジュールには関数である自由変数「require」があります。 「require」関数はモジュール識別子を受け取ります。 「require」は、外部モジュールによってエクスポートされた API を返します。依存関係サイクルが発生した場合、外部モジュールは、その推移的な依存関係によって要求されたときに実行を完了していない可能性があります。この場合、「require」によって返されるオブジェクトには、少なくとも呼び出し前に準備されたこの外部モジュールの要件が含まれている必要があります。 require 関数 (現在のモジュール実行環境に入ります)。要求されたモジュールを返すことができない場合、「require」はエラーをスローする必要があります。モジュールには、「exports」という名前の自由変数があります。これは、モジュールが実行中に独自の API を追加できるオブジェクトです。モジュールは、出力の唯一の表現として「エクスポート」オブジェクトを使用する必要があります。

exports.add = function() {
  var sum = 0, i = 0, args = arguments, l = args.length;  while (i < l) {
      sum += args[i++];
  }
  return sum;
};1234567
ログイン後にコピー

CMD (Common Module Definition) は、SeaJS のプロモーションプロセス中に生成されます。

CMD は中国の Yu Bo によって提案されました。AMD 仕様との主な違いは、定義モジュールと依存関係の導入部分です。 AMD は、モジュールを宣言するときにすべての依存関係を指定し、それらを仮パラメータを通じてモジュールに渡す必要があります

define(function(require, exports, module) {
  exports.add = function() {
    var sum = 0, i = 0, args = arguments, l = args.length;    while (i < l) {
      sum += args[i++];
    }
    return sum;
  };
});123456789
ログイン後にコピー

AMD モジュールと比較して、CMD は CommonJS 仕様のノードの定義に近いです:

define(factory);1

依存関係の部分では、CMD は動的導入をサポートしています。例は次のとおりです。

define(function(require , exports , module){    //the module code goes here
});123
ログイン後にコピー

require、exports、および module は、モジュールに依存する必要がある場合、次の場所でモジュールに渡されます。いつでもインポートできます。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトその他の関連記事に注目してください。

推奨読書:

フロントエンドページをテストする方法

JavaScriptでの呼び出しと適用のアプリケーション

以上がフロントエンドでモジュール性を使用する必要があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

H5ページの生産には継続的なメンテナンスが必要ですか? H5ページの生産には継続的なメンテナンスが必要ですか? Apr 05, 2025 pm 11:27 PM

H5ページは、コードの脆弱性、ブラウザー互換性、パフォーマンスの最適化、セキュリティの更新、ユーザーエクスペリエンスの改善などの要因のため、継続的に維持する必要があります。効果的なメンテナンス方法には、完全なテストシステムの確立、バージョン制御ツールの使用、定期的にページのパフォーマンスの監視、ユーザーフィードバックの収集、メンテナンス計画の策定が含まれます。

H5ページの生産の利点は何ですか H5ページの生産の利点は何ですか Apr 05, 2025 pm 11:48 PM

H5ページの生産の利点には、軽量エクスペリエンス、積み込み速度、ユーザー保持の改善が含まれます。クロスプラットフォームの互換性、さまざまなプラットフォームに適応する必要はなく、開発効率を向上させます。柔軟性と動的な更新、監査が不要で、コンテンツの変更と更新が容易になります。ネイティブアプリよりも費用対効果の高い開発コスト。

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

JSはH5なしで実行できますか? JSはH5なしで実行できますか? Apr 06, 2025 am 09:06 AM

JavaScriptはHTML5なしで実行できますか? JavaScriptエンジン自体は独立して実行できます。ブラウザ環境でJavaScriptを実行すると、コードをロードおよび実行するために必要な標準化された環境を提供するため、HTML5に依存します。 HTML5が提供するAPIと機能は、最新のJavaScriptフレームワークとライブラリにとって重要です。 HTML5環境がなければ、多くのJavaScript機能を実装が困難であるか、実装できません。

エッジブラウザの特定のDIV要素が表示されないのはなぜですか?この問題を解決する方法は? エッジブラウザの特定のDIV要素が表示されないのはなぜですか?この問題を解決する方法は? Apr 05, 2025 pm 08:21 PM

ユーザーエージェントスタイルシートによって引き起こされるディスプレイの問題を解決する方法は? Edgeブラウザを使用する場合、プロジェクトのDIV要素を表示することはできません。チェックした後、私は投稿しました...

Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Apr 05, 2025 pm 01:03 PM

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...

なぜマイナスマージンが場合によっては有効にならないのですか? なぜマイナスマージンが場合によっては有効にならないのですか? Apr 05, 2025 pm 04:09 PM

なぜマイナスマージンが場合によっては有効にならないのですか? CSSを使用してWebページをレイアウトする場合、しばしば負のマージンに遭遇します(ネガティブ...

要素のSCSS変数をオーバーライドすることにより、カスタムテーマを実装する方法は? 要素のSCSS変数をオーバーライドすることにより、カスタムテーマを実装する方法は? Apr 05, 2025 pm 01:45 PM

要素のSCSS変数をオーバーライドすることにより、カスタムテーマを実装する方法は?要素を使用...

See all articles