我正在将我的桌面应用程序从电子切换到nw.js,因为源代码安全功能。
我需要在我的nodejs文件中使用jquery-confirm模块,我得到了这个错误:
Uncaught Error: jquery-confirm requires jQuery我通过以下方式修复这个错误:
var $ = require('jquery');
window.jQuery = $;
var jconfirm = require('jquery-confirm');在index.html中导入js文件,如下所示:
<script>require('./bot.js')</script>因为如果我需要如下的js文件,我会得到同样的jquery错误:
<script src="bot.js"></script>当我修复上面的错误并使用nw.js启动应用程序时,它立即崩溃,并出现以下错误:
TypeError: $(...).button is not a function第一个问题:我假设jquery有问题。当我将它导入到index.html中时,它根本不起作用。然而,在js文件中需要它之后,我仍然遇到了问题。我该如何解决这个问题呢?
第二个问题:如果我使用‘jQuery’而不是'require‘导入我的js文件,为什么我没有得到未捕获的错误: jquery-confirm需要请求错误?
发布于 2018-02-25 07:49:28
这是Node Webkit中的javascript上下文问题。我们必须确保使用脚本标记的src属性将浏览器(窗口上下文)中所需的所有javascript放入该上下文中。
Node Webkit将来自require()语句的JavaScript放在nodejs全局上下文中-并使其在浏览器中不可用。
因此,如果文件处于相反的上下文中,我们会看到诸如$ is not defined或$(...).button() is not a function之类的错误。
https://stackoverflow.com/questions/48968649
复制相似问题