javascript - bootstrap - npm import jquery ui
Require(''jquery-ui'') en node-webkit produce error de navegador no encontrado (1)
He instalado jquery
y jquery-ui
través de npm para mi proyecto node-webkit. También tengo un index.html
que es cargado por node-webkit al inicio y que carga un core.js
Este core.js
requiere tanto jquery
como jquery-ui
. Cuando inicio la aplicación obtengo un navigator is not defined
error. Intenté buscar en Google pero no encontré ninguna solución. ¿Alguien tiene una idea de lo que causa esto?
Este problema no está relacionado con jquery-ui. Puedo reproducirlo con
// index.html
<script>
require(''./test.js'');
</script>
// In test.js
console.log(navigator);
Esta es una limitación de require
de nodo, que solo copia los valores de global
, pero el navegador no está realmente en global
. Solo se especifica que el navigator
funciona en el contexto del navegador, ya que el global
no proporciona los global
, sino el objeto window
(try window.x = 2; global.x = 3; console.log(x);
).
Para solucionar este problema, simplemente puede inicializar global con las variables requeridas desde la window
, o arreglar el código en cuestión (es decir, jQuery UI) para anexar referencias al navegador con window.
. Esto debería hacer para jQuery UI:
global.document = window.document;
global.navigator = window.navigator;
require(''jquery-ui'');