RequireJS - Definizione della funzione
La funzione define () può essere usata per caricare i moduli (il modulo può essere un oggetto, una funzione, una classe o un codice che viene eseguito dopo aver caricato un modulo). È possibile caricare versioni diverse dello stesso modulo nella stessa pagina. Le diverse versioni possono essere analizzate nello stesso ordine, anche se caricate in un ordine diverso.
Sintassi
define(['module1', 'module2'], function (module1, module2) {
//define the module value by returning a value
return function () {};
});
È possibile passare un elenco di nomi di moduli quando si definisce un modulo e RequireJS può essere utilizzato per recuperare questi moduli prima di eseguire il modulo. Questi moduli possono essere passati come parametri didefinition function.
Esempio
L'esempio seguente mostra l'utilizzo della funzione define () durante il caricamento dei moduli. Crea un file html con il nome index.html e inserisci il seguente codice al suo interno -
<!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>
Creare un jsfile con il nome main.js e aggiungi il seguente codice in esso -
define(function (require) {
var myteam = require("./team");
var mylogger = require("./player");
alert("Player Name : " + myteam.player);
mylogger.myfunc();
});
Ora creane altri due jsfile con i nomi team.js e player.js e inserire rispettivamente il seguente codice:
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);
}
};
});
Produzione
Apri il file HTML in un browser; riceverai un output come nello screenshot seguente -
Fare clic sul pulsante "OK", otterrai un altro output dai moduli -