RequireJS - definiowanie funkcji
Do załadowania modułów można użyć funkcji define () (moduł może być obiektem, funkcją, klasą lub kodem, który jest wykonywany po załadowaniu modułu). Na tej samej stronie można załadować różne wersje tego samego modułu. Różne wersje można analizować w tej samej kolejności, nawet jeśli są ładowane w innej kolejności.
Składnia
define(['module1', 'module2'], function (module1, module2) {
//define the module value by returning a value
return function () {};
});
Podczas definiowania modułu można przekazać listę nazw modułów, a RequireJS może zostać użyte do pobrania tych modułów przed wykonaniem modułu. Te moduły można przekazać jako parametry plikudefinition function.
Przykład
Poniższy przykład ilustruje użycie funkcji define () podczas ładowania modułów. Utwórz plik html o nazwie index.html i umieść w nim następujący kod -
<!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>
Stwórz jsplik o nazwie main.js i dodaj w nim następujący kod -
define(function (require) {
var myteam = require("./team");
var mylogger = require("./player");
alert("Player Name : " + myteam.player);
mylogger.myfunc();
});
Teraz utwórz jeszcze dwa jspliki o nazwach team.js i player.js i umieść odpowiednio następujący kod -
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);
}
};
});
Wynik
Otwórz plik HTML w przeglądarce; otrzymasz dane wyjściowe jak na poniższym zrzucie ekranu -
Kliknij przycisk „OK”, otrzymasz kolejny wynik z modułów -