Compartilhe a configuração do requirejs entre várias páginas

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.htmlestá 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.