Функция define () может использоваться для загрузки модулей (модуль может быть объектом, функцией, классом или кодом, который выполняется после загрузки модуля). Вы можете загрузить разные версии одного и того же модуля на одной странице. Различные версии могут быть проанализированы в одном и том же порядке, даже если они загружены в другом порядке.
Синтаксис
define(['module1', 'module2'], function (module1, module2) {
//define the module value by returning a value
return function () {};
});
Вы можете передать список имен модулей, когда определяете модуль, и RequireJS может использоваться для извлечения этих модулей перед выполнением модуля. Эти модули могут быть переданы в качестве параметров функции определения .
пример
В следующем примере показано использование функции define () при загрузке модулей. Создайте HTML-файл с именем index.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>
Создайте файл js с именем main.js и добавьте в него следующий код:
define(function (require) {
var myteam = require("./team");
var mylogger = require("./player");
alert("Player Name : " + myteam.player);
mylogger.myfunc();
});
Теперь создайте еще два js- файла с именами team.js и player.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 в браузере; вы получите вывод как на следующем скриншоте —
Нажмите на кнопку «ОК», вы получите еще один вывод из модулей —
