基本のJS人気で、新しいインターンに、良い記事を参照してください
https://blog.csdn.net/xuxiaoping1989/article/details/52384778転載
子供用の靴の接触requirejsが定義し、それがモジュールで定義されているかどうか、知っているかもしれない、またはモジュールが必要ロードするために、モジュールに依存ステートメントは非常に重要なステップです。モジュールパスの解決に関連しているのは、初心者のために、時には人々は非常に混乱します。
私たちは、次のようなディレクトリ構造があることを前提としています。
demo.html
JS / require.js
JS / main.js
JS / lib.js =>警告( 'のJSは/ libに')
JS / util.js =>警告( 'JS / utilに')
JS /共通/ lib.js =>アラート( 'S /共通/ LIB')
JS /共通/ jqury / lib.js =>アラート( 'のJS /共通/ jqury / LIB')
共通/ lib.js =>アラート( '共通/ LIB')
baseUrlに:の基本的な基盤
モジュールのパス解決requirejs、baseUrlには簡単にので、ここでは、処理できない基本的にそれを残して、非常に基本的な概念です。単にbaseUrlには、その後、依存モジュールを見つけるために、このディレクトリに基づいてrequirejs、ディレクトリを指定し、置きます。
:栗、demo.html年間でロードrequirejs、スクリプト上のデータ-メイン属性はrequirejsがダウンロードされた後、次に、それは2つのことを行います、requirejsその文の
1)、JS / main.jsロードする
2) 、データ・メインファイルに指定baseUrlにパスが配置され、ここで/ JS
<script src="js/require.js" data-main="js/main.js"></script>
次に、モジュールのlib JS / lib.jsの実際のパスを、次の依存性
-
必要([ 'LIB']、関数(のLib){
-
// STHを行います
-
});
もちろん、データ・メイン属性に加えて、手動で次の例のような、baseUrlに設定することができます。:ことが強調される
パスrequirejsはデータ・主な属性が存在しない場合に通じbaseUrlにを指定するページがデフォルトbaseUrlにによってロードされるように、途中で設定文baseUrlには示さなかった
のindex.html(index.htmlのポイントどこbaseUrlに、この時点ではパス)
-
< スクリプトSRC = "JS / require.js"> </ スクリプト>
-
< スクリプトSRC = "JS / main.js"> </ スクリプト>
main.js
-
([必要'のJS / LIB']、関数(LIB){
-
<前の名前= "コード" クラス= "HTML"> < スパンのスタイル= "空白:事前に"> </ span>のlib.lib()// 'JS / libに'
});
baseUrlに+パスは:より多くの、簡潔な柔軟性は、頼りましょう
例えば、我々は以下のモジュール(果物がたくさん...)の束をロードし、依存関係リストの長いリストを見下ろして、あなたは突然、問題が表示される場合があります:
1)、各モジュールの前面には、共通/フルーツ長いロードした:楽な
維持が困難、2):多分1日のディレクトリ名が変更(および大規模プロジェクトでは稀ではありませんしていた)、変更をもたらすために、ディレクトリ構造を想像ワークロード
-
requirejs.config({
-
baseUrlに:'JS'
-
});
-
//果物の束をロード
-
必要([ '共通/果物/リンゴ'、'共通/果物/オレンジ'、'共通/果物/ブドウ'、'共通/果物/梨']、機能(アップル、オレンジ、ブドウ、梨){
-
// STHを行います
-
});
モジュールローダの場合、上記のは、これらの2つの問題が明確に考慮される必要があると述べました。だから、requirejs著者は、パスにこの構成アイテムを提供しています。私たちは、改訂されたコードを見てください。
-
requirejs.config({
-
baseUrlに:'JS'
-
パス:{
-
果物:「共通/果物」
-
}
-
});
-
//果物の束をロード
-
([必要'果物/リンゴ'、'果物/オレンジ'、'果物/ブドウ'、'果物/梨']、機能(アップル、オレンジ、ブドウ、梨){
-
// STHを行います
-
});
実際には、多くのコードを保存していない、あまり一般的接頭辞ですが、ときに、プロジェクト構造の変化、それが体現メリット。共通/果物1日は突然共通/サードパーティ製/果物になっパスがそれを変更ダウン、それは、非常に単純であると仮定します。
-
requirejs の.config({
-
baseUrlに:'JS'
-
パス:{
-
果物: 「共通/サードパーティ製/果物」
-
}
-
});
-