requireフレームの基本使用

4683 ワード

requireは軽量級で、必要に応じて、非同期でファイルをロードするJavaScriptフレームです.requireは従来のJavaScriptコード開発における二つの問題を解決できます.
  • は複数のファイルを同時にロードしないようにし、必要に応じて、非同期的にロードし、ページの応答速度を速めることができる.
  • は、従来のファイルローディング依存性からモジュール化された依存管理に移行し、このような方法は、ファイルの符号化管理をより容易にする.
  • 「ファイル読み込み依存」とは、従来のJavaScriptコードの開発において、ファイルのロード順序を保証し、最も依存性の高いファイルを最後にロードすることを意味します.
    ロードrequire:
    <script src="require.js    " defer async="true" type="text/javascript" data-main="     ">script>
    deferとasyncの機能はすべて非同期ローディングrequire.jsファイルを表し、data-main属性はローディングのメインテンプレートファイルを指定します.例えば:
    <script src="require.js" defer async="true" type="text/javascript" data-main="js/main">script>
    require.jsにおけるdefineとrequire
    defineはモジュールを定義するためのもので(require.jsに登録されているモジュール)、requireはモジュールをロードして使用するためのものです.唯一の違いは、defineのコールバック関数は、return文がモジュールオブジェクトに戻る必要があり、このようにdefine定義のモジュールが他のモジュールによって参照されることができ、requireのコールバック関数はreturn文を必要としないことである.
    require設定オプション
    require.co nfig方法
  • baseUrl:全モジュールの検索ルート
  • path:baseUrlの下に直接置かれていないモジュール名をマッピングし、pathを設定するときの開始位置はbaseUrlに対する
  • である.
  • shim:define()を使用せずに依存関係を宣言し、モジュールを設定する「ブラウザグローバル変数注入」型スクリプトに依存およびエクスポート構成
  • を行う.
  • deps:依存する依存配列例を指定します.
  • require.config({
        baseUrl:"/lib",
        paths:{
            "jQuery":"jquery-2.1.4.min",
            "underscore":"underscore-min",
            "backbone":"backbone-min"
        },
        shim:{
            "underscore":{
                exports:"_"
            },
            "backbone":{
                deps:["underscore","jQuery"],
                exports:"Backbone"
            }
        }
    });
    require(["backbone"],function(Backbone){
        var person = Backbone.model.extend({
            defaults:{
                name:"",
                sex:" ",
                age:0
            }
        });
        var person1 = new person();
        person1.set({name:"happy",sex:" ",age:26});
    });
    ======================================================================================================================
    知識を広げる
    AMD規格:
    AMDはAynchronous Module Definitionの略語で、「非同期モジュール定義」という意味です.モジュールを非同期的にロードします.モジュールのロードは、後のステートメントの動作に影響しません.このモジュールに依存するすべてのステートメントは、1つのコールバック関数に定義されています.ロードが完了するまで、このコールバック関数は実行されます.
    require([module],callback);
    最初のパラメータは配列で、中のメンバーはロードするモジュールです.二番目のパラメータのcalbackはローディング成功後のコールバック関数です.主に二つのJavaScriptライブラリがAMD仕様を実現しました.require.jsとcurl.jsです.
    Common JS:
    CommunJS標準ロードモジュールは同期されています.つまり、ロードが完了してこそ、後の操作が実行されます.Common JSはサーバー側モジュールの仕様です.node.jsはこの仕様を採用しています.require()を使用してモジュール導入を行う.