node-webkit中的Require('jquery-ui')产生导航器未找到错误

时间:2014-09-10 11:51:06

标签: javascript jquery jquery-ui coffeescript node-webkit

我已经通过npm为我的node-webkit项目安装了jqueryjquery-ui。 我还有一个index.html,它在启动时由node-webkit加载,并加载core.js

core.js同时需要jqueryjquery-ui。当我启动应用程序时,出现navigator is not defined错误。我试过谷歌搜索但没有找到解决方案。有谁知道是什么原因引起的?

1 个答案:

答案 0 :(得分:3)

这个问题与jquery-ui无关。我可以用

重现它
// index.html
<script>
require('./test.js');
</script>

// In test.js
console.log(navigator);

这是节点require的限制,only copies over the values of global,但导航器实际上不在global。只是指定navigator在浏览器的上下文中起作用,因为global提供的隐式全局变量不是,而是window对象(try {{ 1}})。

要解决此问题,您只需使用window.x = 2; global.x = 3; console.log(x);中的必需变量初始化全局,或修复相关代码(即jQuery UI)以使用window添加对导航器的引用。这应该适用于jQuery UI:

window.