Problema: ao desenvolver o uso do Electron, quando você tenta usar qualquer plug-in JS que exija jQuery, o plug-in não encontra o jQuery, mesmo se você carregar o caminho correto usando tags de script.
Por exemplo,
<body>
<p id="click-me">Click me!</p>
...
<script src="node_modules/jquery/dist/jquery.min.js"></script> //jQuery should be loaded now
<script>$("#click-me").click(() => {alert("Clicked")});</script>
</body>
A execução desse código acima não funcionaria. De fato, abra o DevTools, acesse a visualização Console e clique no <p>
elemento Você deve ver isso function $ is not defined
ou algo nesse sentido.
require
função Electron ?Respostas:
Uma solução melhor e mais genérica IMO:
Benefícios
node-integration
ser falsofonte aqui
fonte
window.module
começa com o mesmo valor quemodule
, para que seu código não funcione conforme o esperado. A maneira correta de fazer isso é salvarmodule
em alguma outra propriedade da janela (não usada), comowindow.tempModule
. Para confirmar o que eu digo, tenteconsole.log(module)
após sua última declaração para verificar isso agoramodule === undefined
.Como visto em https://github.com/atom/electron/issues/254, o problema é causado por causa deste código:
O código jQuery "vê" que está sendo executado em um ambiente CommonJS e ignora
window
.A solução é realmente fácil , em vez de carregar o jQuery
<script src="...">
, você deve carregar assim:Nota: o ponto antes do caminho é obrigatório , pois indica que é o diretório atual. Além disso, lembre-se de carregar o jQuery antes de carregar qualquer outro plugin que dependa dele .
fonte
'node-integration': false
como opçãoBrowserWindow
.Outra maneira de escrever
<script>window.$ = window.jQuery = require('./path/to/jquery');</script>
é:fonte
resposta eletrônica do FAQ:
http://electron.atom.io/docs/faq/
fonte
Acabei de encontrar este mesmo problema
npm install jquery --save
<script>window.$ = window.jQuery = require('jquery');</script>
trabalhou para mim
fonte
Você pode colocar
node-integration: false
opções internas no BrowserWindow.por exemplo:
window = new BrowserWindow({'node-integration': false});
fonte
Uma solução agradável e limpa
npm install jquery --save
)<script> let $ = require("jquery") </script>
fonte
Eu enfrento o mesmo problema e isso funcionou para mim!
Instale o jQuery usando o npm
Em seguida, inclua o jQuery de uma das seguintes maneiras.
fonte
antes da importação do seu jquery e pronto. mais informações aqui .
fonte
Eu acho que entendi sua luta, resolvi um pouco diferente. Usei o script loader para o meu arquivo js, que está incluindo o jquery.Script loader pega o seu arquivo js e o anexa ao topo do seu arquivo vendor.js, ele fez a mágica para mim.
https://www.npmjs.com/package/script-loader
Depois de instalar o carregador de scripts, adicione-o ao arquivo de inicialização ou aplicativo.
import 'script! path / your-file.js';
fonte
ok, aqui está outra opção, se você quiser um parente incluir ...
fonte
Se você estiver usando Angular2, poderá criar um novo arquivo js com este código:
e coloque-o logo após o caminho do jquery, em .angular-cli.json:
fonte
im construção e Angular App com elétron, minha solução foi a seguinte:
Portanto, o Jquery é carregado a partir do angular.json se estiver no navegador, caso contrário, se for um aplicativo construído por elétrons, será necessário um módulo.
Se você deseja importar o jquery em index.html, em vez de importar do angular.json, use a seguinte solução:
fonte
trabalhou para mim usando o seguinte código
fonte
1. Instale o jQuery usando o npm.
2)
fonte
Isso funciona para mim.
Coisas a considerar:
1) Coloque isso na seção logo antes
</head>
2) Inclua Jquery.min.js ou Jquery.js antes da
</body>
tagfonte
você pode tentar o seguinte código:
fonte
Para esse problema, use JQuery e outros js iguais aos usados na página da Web. No entanto, o Electron possui integração de nós, portanto, não encontrará seus objetos js. Você deve definir
module = undefined
até que seus objetos js sejam carregados corretamente. Veja o exemplo abaixoDepois de importar como indicado, você poderá usar o
JQuery
e outras coisas em elétrons.fonte
Basta instalar o Jquery com o seguinte comando.
Depois disso, por favor, coloque uma nova linha no arquivo js que você deseja usar o Jquery
fonte