Функция 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 в браузере; вы получите вывод как на следующем скриншоте —
Нажмите на кнопку «ОК», вы получите еще один вывод из модулей —