Учебники

RequireJS — Определение функции

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

RequireJS Определить функцию

Нажмите на кнопку «ОК», вы получите еще один вывод из модулей —