RequireJS - Função de definição
A função define () pode ser usada para carregar os módulos (módulo pode ser um objeto, função, classe ou um código que é executado após carregar um módulo). Você pode carregar diferentes versões do mesmo módulo na mesma página. As diferentes versões podem ser analisadas na mesma ordem, mesmo que sejam carregadas em uma ordem diferente.
Sintaxe
define(['module1', 'module2'], function (module1, module2) {
//define the module value by returning a value
return function () {};
});
Você pode passar uma lista de nomes de módulo ao definir um módulo e RequireJS pode ser usado para recuperar esses módulos antes de executar o módulo. Esses módulos podem ser passados como parâmetros dodefinition function.
Exemplo
O exemplo a seguir mostra o uso da função define () ao carregar os módulos. Crie um arquivo html com o nome index.html e coloque o seguinte código nele -
<!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>
Criar uma jsarquivo com o nome main.js e adicione o seguinte código nele -
define(function (require) {
var myteam = require("./team");
var mylogger = require("./player");
alert("Player Name : " + myteam.player);
mylogger.myfunc();
});
Agora, crie mais dois jsarquivos com os nomes team.js e player.js e coloque o seguinte código, respectivamente -
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);
}
};
});
Resultado
Abra o arquivo HTML em um navegador; você receberá uma saída como na imagem a seguir -
Clique no botão "OK" para obter outra saída dos módulos -