Hoje me deparei com alguns problemas ao tentar carregar a biblioteca d3.js usando Require.js , principalmente todos os meus Require.js chamados scripts / módulos lançariam erro de tipo indefinido ao tentar chamar o objeto d3, mesmo com todas as dependências requeridas em ordem . Realmente não sei porque, desde que eu saiba, a biblioteca d3 é compatível com amd.
Qualquer um, eu consertei o problema com um hack de inicialização como este:
shim: {
'd3': {
exportações: 'd3',
init: function () {
window.d3 = d3;
}
},
}
</pre>Do ponto de vista de Require, isso é bom ou ruim? Não tenho a menor idéia de que sou novo no amd stuff, tudo que sei é que funciona, então se você tem uma lib que precisa ser tratada pelo Require.js e a modulação dá problemas, verifique se a biblioteca anexa o objeto / função a janela ou objeto de documento e tente repetir a ação dentro do registro de dependência shim Require.js de sua biblioteca, função init com mais precisão.