requireJS学習ノート
5933 ワード
一、よく使う方法と命令 require defineでは、defineはモジュールを定義するためのものであり、requireはモジュールをロードするためのものであり、設定ファイルをロードするためのものである.ラベルを通して、require.jsファイルを現在のHTMLページに紹介します.bragt;lt;script src=「js/require.js」 二、パラメータ配置はrequireJSの中の一つのファイルは一つのモジュールであり、その表現はkey/valueのキー値でフォーマットし、keyはモジュールの名称(モジュールID)であり、valueはファイル(モジュール)の住所である.
基本パラメータの設定:
設定対象であるbaseUrlは、ベースディレクトリを定義し、pathsのモジュールのアドレスと自動的にスティッチングし、このモジュールの実際のアドレスを構成し、設定パラメータがscriptタグでhtmlファイルに埋め込まれている場合、baseUrlのデフォルトのフィンガーパスは、このhtmlファイルのアドレスである.
paths属性の値も対象です.オブジェクトはモジュールkey/value値です.その中でkeyはモジュールの名称とIDで、普通はファイルの名来を使って命名して、valueはモジュールの住所で、requireJSの中で、モジュールがJSファイルな時、省略することができます.jsの拡張子、例えば「index.js」は直接に「index」と書くことができます.また、定義されたモジュールがbaseUrlの値との綴りを必要としない場合は、baseUrlの設定を「/」とhttp:////.jsという形でバイパスすることができます.
shim属性の値は、非標準モジュールの依存性と戻り値を宣言するためのオブジェクトです.いわゆる「非標準モジュール」とは、AMD規格に合わないJSプラグインのことです.
indexモジュール実行時: deps:現在の非標準モジュールに依存する他のモジュールを宣言するための値は配列であり、配列要素はモジュールの名前またはIDである. export:非標準モジュールのグローバル変数または方法を定義するために使用されます.値は普通文字列です. init:初期、処理、非標準モジュールの大域変数または方法で使用され、非標準モジュールに複数の大域変数および方法が存在する場合、値は関数である. ID:モジュールのID、デフォルトはファイル名で、通常は使用者自身が手動で指定する必要はありません. deps:現在のモジュールはしたがって依存するモジュール配列であり、配列の各配列要素はモジュール名またはモジュールIDである. calback:モジュールのコールバック方法は、モジュールの具体的な機能とコードを保存するために使用され、このコールバック関数は、モジュール配列の各配列要素に対応しています.すなわち、各パラメータは、対応するモジュールのリターン値を保存します.
モジュールをロードする前に、「モジュール依存」について話します.モジュールとモジュールの間には相互依存関係があるので、モジュールAで使用される関数の一つがモジュールBで定義されているなど、異なるロード順序が決定されます.モジュールA依存モジュールBとも言えます.モジュールAをロードする時の順序もモジュールAであり、モジュールBであることを説明します.requireでは、我々はrequire()方法でモジュールをロードすることができます.使用フォーマットは以下の通りです. deps:ロードするモジュール群. calback:モジュールをロードした後に実行するコールバック方法.
六、モジュールの戻り値requireで定義されたモジュールは、結果としてオブジェクトを返すだけでなく、結果として関数を返します. require:モジュールをロードする時に使用します. export:モジュールの返却値を導出する. modules:モジュールの関連情報およびパラメータを定義します. まとめ:1、トップページにrequire.js
2を紹介し、defineを通じて(id、deps、calback);モジュールを定義、
<ul> ID:モジュールのID、デフォルトはファイル名で、通常は使用者自身が手動で指定する必要はありません.つまりIDは管理しなくてもいいです. です. deps:現在のモジュールはしたがって依存するモジュール配列であり、配列の各配列要素はモジュール名またはモジュールIDである. calback:モジュールのコールバック方法は、モジュールの具体的な機能とコードを保存するために使用され、このコールバック関数は、モジュール配列の各配列要素に対応しています.すなわち、各パラメータは、対応するモジュールのリターン値を保存します. モジュールの戻り値
<p>3、モジュールをrequire.co nfigで構成する経路、
4、require(deps[、calback]);モジュールの導入
<ul> deps:ロードするモジュール群. calback:モジュールをロードした後に実行するコールバック方法.
基本パラメータの設定:
//index.html
require.config({
baseUrl:'js/',
paths:{
'jquery':'http://xxxx.xxx.com/js/jquery.min',
'index':'index'
},
shim:{
}
});
require(['index']);
require.co nfigはパラメータを構成するためのコア方法であり、固定フォーマットと属性を持つオブジェクトをパラメータとして受信します.設定対象であるbaseUrlは、ベースディレクトリを定義し、pathsのモジュールのアドレスと自動的にスティッチングし、このモジュールの実際のアドレスを構成し、設定パラメータがscriptタグでhtmlファイルに埋め込まれている場合、baseUrlのデフォルトのフィンガーパスは、このhtmlファイルのアドレスである.
paths属性の値も対象です.オブジェクトはモジュールkey/value値です.その中でkeyはモジュールの名称とIDで、普通はファイルの名来を使って命名して、valueはモジュールの住所で、requireJSの中で、モジュールがJSファイルな時、省略することができます.jsの拡張子、例えば「index.js」は直接に「index」と書くことができます.また、定義されたモジュールがbaseUrlの値との綴りを必要としない場合は、baseUrlの設定を「/」とhttp:////.jsという形でバイパスすることができます.
shim属性の値は、非標準モジュールの依存性と戻り値を宣言するためのオブジェクトです.いわゆる「非標準モジュール」とは、AMD規格に合わないJSプラグインのことです.
require.config({
baseUrl:'js/',
paths:{
'jquery':'http://xxx.xxxx.com/js/jquery.min',
'index':'index',
'say':'say',
'bar':'bar',
'tools':'tools'
},
shim:{
'tools':{
deps:['bar'],
exports:'tool'
},
'say':{
deps:['./a','./b'],
init:function(){
return {
'sayBye':sayBye,
'sayHellow':sayHellow
}
}
}
}
});
require(['index']);
ここで注意したいのは、ロードされたモジュールファイルがAMD仕様に適合している場合、例えばdefineによって定義される場合、requireのデフォルトの優先度は標準的であり、基準に適合していない場合にのみ、shimで定義されたパラメータが採用されることである.indexモジュール実行時:
define(['jquery','tool','say'],function($,tool,say){
tool.drag();
say.sayHellow();
say.sayBye();
})
上記の例では、Shimには三つの重要な属性がありますが、それぞれ:// :
require.config({
baseUrl:'js/',
paths:{
'jquery':'http://xxx.xxxx.com/js/jquery.min',
'index':'index'
}
});
require(['index']);
三、プロファイルの読み込み<script src="js/require.js"></script>
四、定義モジュールは私たちがレクリエーションJSを選択してモジュール化して私たちのプロジェクトやページを開発する時、私たちが今後作成したコードや機能を明確に知っておく必要があります.すべて定義されたモジュールに置くべきです.以下はrequireJS定義モジュールの方法フォーマットです.define([id,deps,] callback);
//
//index.js
define(['jquery','./utils'], function($) {
$(function() {
alert($);
});
});
上記の例から、indexモジュールでは、「jquery」モジュールに依存しており、モジュールのコールバック関数では、jqueryモジュールからの値を、jqueryモジュールに加えて、indexモジュールは、設定ファイルで定義されていないので、ここでは追加経路で個別に導入されている.モジュールをロードする前に、「モジュール依存」について話します.モジュールとモジュールの間には相互依存関係があるので、モジュールAで使用される関数の一つがモジュールBで定義されているなど、異なるロード順序が決定されます.モジュールA依存モジュールBとも言えます.モジュールAをロードする時の順序もモジュールAであり、モジュールBであることを説明します.requireでは、我々はrequire()方法でモジュールをロードすることができます.使用フォーマットは以下の通りです.
require(deps[,callback]);
require.config({
paths:{
'index':'index'
}
});
require(['index']);
requireJSはrequire([])方法でモジュールをロードし、モジュールの中のコールバック関数を実行します.その値は配列であり、配列の要素はロードするモジュール名であるモジュールIDです.ここではrequire(''index')方法でindexというモジュールをロードしました.また、このモジュールはjqueryモジュールに依存していますので、引き続きjquerjquerryモジュールをロードします.jqueryモジュールのロードが完了すると、モジュールの最終的なフィードバック方法に自身の方法を伝えます.alertは$パラメータの具体的な内容を出します.六、モジュールの戻り値requireで定義されたモジュールは、結果としてオブジェクトを返すだけでなく、結果として関数を返します.
// utils.js
define(function(require,exports,modules){
function sayHellow(params){
alert(params);
}
return sayHellow
});
// index.js
define(function(require,exports,modules){
var sayHellow = require('utils');
sayHellow('hellow World');
})
リターンによって複数の結果が返ってくる場合:// utils.js
define(function(require,exports,modules){
function sayHellow(params){
alert(params);
}
function sayBye(){
alert('bye-bye!');
}
return { //return
'sayHellow':sayHellow,
'sayBye':sayBye
}
});
// index.js
define(function(require,exports,modules){
var utils = require('utils');
utils.sayHellow('hellow World');
})
ここで一つの注意点があります.これは非依存性のモジュールです.モジュールのコールバック関数に直接に次の3つのパラメータを加えることができます.2を紹介し、defineを通じて(id、deps、calback);モジュールを定義、
<ul>
<p>3、モジュールをrequire.co nfigで構成する経路、
4、require(deps[、calback]);モジュールの導入
<ul>