Requirejs-defining-function
提供:Dev Guides
RequireJS-関数の定義
_define()_関数を使用して、モジュールをロードできます(モジュールは、オブジェクト、関数、クラス、またはモジュールのロード後に実行されるコードにすることができます)。 同じページに同じモジュールの異なるバージョンをロードできます。 異なるバージョンが異なる順序でロードされている場合でも、異なるバージョンを同じ順序で分析できます。
構文
define(['module1', 'module2'], function (module1, module2) {
//define the module value by returning a value
return function () {};
});
モジュールを定義するときにモジュール名のリストを渡すことができ、モジュールを実行する前にこれらのモジュールを取得するためにRequireJSを使用できます。 これらのモジュールは、*定義関数*のパラメーターとして渡すことができます。
例
次の例は、モジュールのロード中の_define()_関数の使用法を示しています。 _indexl_という名前のhtmlファイルを作成し、それに次のコードを配置します-
<!DOCTYPE html>
<html>
<head>
<title>Define() Function</title>
<script data-main = "main" src = "require.js"></script>
</head>
<body>
<h2>RequireJS Define() Function Example</h2>
</body>
</html>
_main.js_という名前の js ファイルを作成し、次のコードを追加します-
define(function (require) {
var myteam = require("./team");
var mylogger = require("./player");
alert("Player Name : " + myteam.player);
mylogger.myfunc();
});
ここで、_team.js_および_player.js_という名前でさらに2つの js ファイルを作成し、それぞれ次のコードを配置します-
team.js
define({
player: "Sachin Tendulkar",
team : "India"
});
player.js
define(function (require) {
var myteam = require("./team");
return {
myfunc: function () {
document.write("Name: " + myteam.player + ", Country: " + myteam.team);
}
};
});
出力
ブラウザでHTMLファイルを開きます。次のスクリーンショットのように出力が表示されます-
「OK」ボタンをクリックすると、モジュールから別の出力が得られます-