requireフレームの基本使用
4683 ワード
requireは軽量級で、必要に応じて、非同期でファイルをロードするJavaScriptフレームです.requireは従来のJavaScriptコード開発における二つの問題を解決できます.は複数のファイルを同時にロードしないようにし、必要に応じて、非同期的にロードし、ページの応答速度を速めることができる. は、従来のファイルローディング依存性からモジュール化された依存管理に移行し、このような方法は、ファイルの符号化管理をより容易にする. 「ファイル読み込み依存」とは、従来のJavaScriptコードの開発において、ファイルのロード順序を保証し、最も依存性の高いファイルを最後にロードすることを意味します.
ロードrequire:
defineはモジュールを定義するためのもので(require.jsに登録されているモジュール)、requireはモジュールをロードして使用するためのものです.唯一の違いは、defineのコールバック関数は、return文がモジュールオブジェクトに戻る必要があり、このようにdefine定義のモジュールが他のモジュールによって参照されることができ、requireのコールバック関数はreturn文を必要としないことである.
require設定オプション
require.co nfig方法 baseUrl:全モジュールの検索ルート path:baseUrlの下に直接置かれていないモジュール名をマッピングし、pathを設定するときの開始位置はbaseUrlに対する である. shim:define()を使用せずに依存関係を宣言し、モジュールを設定する「ブラウザグローバル変数注入」型スクリプトに依存およびエクスポート構成 を行う. deps:依存する依存配列例を指定します.
知識を広げる
AMD規格:
AMDはAynchronous Module Definitionの略語で、「非同期モジュール定義」という意味です.モジュールを非同期的にロードします.モジュールのロードは、後のステートメントの動作に影響しません.このモジュールに依存するすべてのステートメントは、1つのコールバック関数に定義されています.ロードが完了するまで、このコールバック関数は実行されます.
Common JS:
CommunJS標準ロードモジュールは同期されています.つまり、ロードが完了してこそ、後の操作が実行されます.Common JSはサーバー側モジュールの仕様です.node.jsはこの仕様を採用しています.require()を使用してモジュール導入を行う.
ロード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とrequiredefineはモジュールを定義するためのもので(require.jsに登録されているモジュール)、requireはモジュールをロードして使用するためのものです.唯一の違いは、defineのコールバック関数は、return文がモジュールオブジェクトに戻る必要があり、このようにdefine定義のモジュールが他のモジュールによって参照されることができ、requireのコールバック関数はreturn文を必要としないことである.
require設定オプション
require.co nfig方法
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()を使用してモジュール導入を行う.