Electron: problemas ao carregar arquivos javascripts com requireJS

Criado em 26 mai. 2014  ·  3Comentários  ·  Fonte: electron/electron

Estou trabalhando em um projeto há meses e gostaria de usar o Atom para incorporar o aplicativo. O projeto usa requireJS e nunca encontrei problema de carregamento de scripts na versão da web ou mesmo na compilação do node-webkit, no entanto, com o Atom, os scripts não são carregados corretamente.

Fiz um pequeno exemplo para ilustrar a questão. É uma construção mac.
https://github.com/cniaulin/loading-issue

Clone o repositório, inicie o Atom.app. Veja se momento está definido, se sim cmd + r, você verá que nem sempre é o caso.
Você pode exibir o console com cmd + alt + i
Os arquivos estão localizados aqui: Atom.app/Contents/Resources/app/

Alguém tem uma solução ou uma solução alternativa?

Comentários muito úteis

@cniaulin Uma solução alternativa seria liberar a variável require renomeando-a para outra coisa antes de carregar require.js da seguinte maneira:

<script>
  if (window.require) {
    window.nodeRequire = window.require;
    delete window.require;
  }
</script>

Você precisará chamar nodeRequire onde quiser chamar a versão Node.js de require .

Todos 3 comentários

Oi, tudo o que sei sobre requireJs é que eles têm método require semelhante com nó que entrou em conflito, tente usar requirejs como método de substituição.

Prática recomendada: use npm para instalar pacotes/módulos somente do Node no diretório node_modules dos projetos, mas não configure o RequireJS para procurar dentro do diretório node_modules. Evite também usar IDs de módulo relativos para fazer referência a módulos que são módulos somente Node. Portanto, não faça algo como require("./node_modules/foo/foo").

procure mais http://requirejs.org/docs/node.html

@cniaulin Uma solução alternativa seria liberar a variável require renomeando-a para outra coisa antes de carregar require.js da seguinte maneira:

<script>
  if (window.require) {
    window.nodeRequire = window.require;
    delete window.require;
  }
</script>

Você precisará chamar nodeRequire onde quiser chamar a versão Node.js de require .

Estou fechando isso porque não há planos para oferecer suporte ao requireJS no atom-shell.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

jviotti picture jviotti  ·  3Comentários

rhnorskov picture rhnorskov  ·  3Comentários

sindresorhus picture sindresorhus  ·  3Comentários

feross picture feross  ·  3Comentários

dangan-ronpa picture dangan-ronpa  ·  3Comentários