Problema: mientras desarrolla usando Electron, cuando intenta usar cualquier complemento JS que requiera jQuery, el complemento no encuentra jQuery, incluso si carga en la ruta correcta usando etiquetas de script.
Por ejemplo,
<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>
Ejecutar este código anterior no funcionaría. De hecho, abra DevTools, vaya a la vista Consola y haga clic en el <p>
elemento. Deberías ver eso function $ is not defined
o algo por el estilo.
require
función Electron ?Respuestas:
Una solución mejor y más genérica IMO:
Beneficios
node-integration
ser falsofuente aquí
fuente
window.module
comienza con el mismo valor quemodule
, por lo que su código no funciona como se esperaba. La forma correcta de hacerlo es guardarmodule
en alguna otra propiedad de ventana (no utilizada), comowindow.tempModule
. Para confirmar lo que digo, intenteconsole.log(module)
después de su última declaración para verificar eso ahoramodule === undefined
.Como se ve en https://github.com/atom/electron/issues/254, el problema se debe a este código:
El código jQuery "ve" que se está ejecutando en un entorno CommonJS e ignora
window
.La solución es realmente fácil , en lugar de cargar jQuery
<script src="...">
, debe cargar así:Nota: el punto antes de la ruta es obligatorio , ya que indica que es el directorio actual. Además, recuerde cargar jQuery antes de cargar cualquier otro complemento que dependa de él .
fuente
'node-integration': false
como opción paraBrowserWindow
.Otra forma de escribir
<script>window.$ = window.jQuery = require('./path/to/jquery');</script>
es:fuente
Preguntas frecuentes sobre electron:
http://electron.atom.io/docs/faq/
fuente
Acabo de encontrar este mismo problema
npm install jquery --save
<script>window.$ = window.jQuery = require('jquery');</script>
trabajó para mi
fuente
Puede poner
node-integration: false
opciones internas en BrowserWindow.p.ej:
window = new BrowserWindow({'node-integration': false});
fuente
Una solución agradable y limpia.
npm install jquery --save
)<script> let $ = require("jquery") </script>
fuente
¡Me enfrento al mismo problema y esto funcionó para mí!
Instale jQuery usando npm
Luego incluya jQuery de una de las siguientes maneras.
fuente
antes de su importación jquery y listo. Más información aquí .
fuente
Creo que entiendo su lucha, lo resolví un poco diferente. Utilicé el cargador de scripts para mi archivo js, que incluye jquery. El cargador de scripts toma su archivo js y lo adjunta a la parte superior de su archivo vendor.js.
https://www.npmjs.com/package/script-loader
después de instalar el cargador de secuencias de comandos, agréguelo a su archivo de inicio o aplicación.
import 'script! ruta / your-file.js';
fuente
ok, aquí hay otra opción, si quieres que un pariente incluya ...
fuente
Si está utilizando Angular2, puede crear un nuevo archivo js con este código:
y colóquelo justo después de jquery path, en .angular-cli.json:
fuente
Im building y Angular App con electron, mi solución fue la siguiente:
Entonces, Jquery se carga desde angular.json si está en el navegador, de lo contrario, si se trata de una aplicación construida con electrones, necesitará un módulo.
Si desea importar jquery en index.html en lugar de importar desde angular.json, use la siguiente solución:
fuente
funcionó para mí usando el siguiente código
fuente
1.Instale jQuery usando npm.
2)
fuente
Esto funciona para mi.
Cosas para considerar:
1) Ponga esto en la sección justo antes
</head>
2) Incluya Jquery.min.js o Jquery.js justo antes de la
</body>
etiquetafuente
puedes probar el siguiente código:
fuente
Para este problema, use JQuery y otros js igual que está usando en la página web. Sin embargo, Electron tiene integración de nodos, por lo que no encontrará sus objetos js. Tienes que configurar
module = undefined
hasta que tus objetos js se carguen correctamente. Ver ejemplo a continuaciónDespués de importar como se indica, podrá utilizar el
JQuery
y otras cosas en electrón.fuente
Simplemente instale Jquery con el siguiente comando.
Después de eso, coloque la línea de belew en el archivo js que desea usar Jquery
fuente