Coloque sua configuração em um arquivo especial dedicado apenas para a configuração de requirejs. Normalmente chamo esse arquivo rconfig.js
.
Aqui estão alguns exemplos de conteúdo:
require.config({
"baseUrl": "/app/",
"paths": {
// requirejs and durandal
'text': '/libs/text',
'durandal': '/libs/durandal',
'plugins': '/libs/durandal/plugins',
'transitions': '/libs/durandal/transitions',
// third party libraries
'lodash': '/libs/lodash.compat.min',
'numeral': '/libs/numeral.min'
}
});
define('jquery', function () { return jQuery; });
define('knockout', function () { return ko; });
Use o arquivo como o atributo data-main da tag de script require (dentro da tag head)
main.html:
<script type="text/javascript" src="/libs/require.js" data-main="/rconfig.js"></script>
Digamos que você tenha um aplicativo em main.html, with the entry point in
/ app / main.js`.
Depois de colocar a tag acima dentro da tag head, você coloca o seguinte dentro da tag body:
<script type="text/javascript">
require(['main']);
</script>
Você pode ter outro ponto de entrada em uma página html diferente e aí você faz a mesma coisa.
Digamos que você tenha page2.html e ele seja direcionado a partir de um ponto de entrada diferente, em /app/page2_main.js
.
É assim que você faria, usando exatamente a mesma configuração de requirejs que main.html
está usando:
page2.html:
<!--inside <head> -->
<script type="text/javascript" src="/libs/require.js" data-main="/rconfig.js"></script>
<!-- inside <body> -->
<script type="text/javascript">
require(['page2_main']);
</script>
Você pode repetir isso em quantos arquivos desejar.
Outra maneira de fazer isso é deixar a tag requirejs sem nenhum atributo data-main e, em vez disso:
<!--inside <head> -->
<script type="text/javascript" src="/libs/require.js"></script>
<!-- inside <body> -->
<script type="text/javascript">
require(['/rconfig.js'], function() {
require(['page3_main']);
});
</script>
Isso funcionaria da mesma forma.