jquery 在 nw.js 中不工作(节点 webkit)

jquery not working in nw.js (node webkit)

由于源代码安全功能,我正在将我的桌面应用程序从 electron 切换到 nw.js。

我需要模块 jquery-confirm 在我的 nodejs 文件中,我收到此错误:

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 文件中要求它后,我仍然 运行 遇到问题。我该如何解决这个问题?

第二个问题: 如果我使用 'require' 而不是 ?

导入我的 js 文件,为什么我没有收到 Uncaught Error: jquery-confirm requires jQuery 错误

这是 Node Webkit 中 javascript 上下文的问题。我们必须确保通过使用脚本标记的 src 属性将浏览器(window 上下文)所需的所有 javascript 引入该上下文。

Node Webkit 将来自 require() 语句的 JavaScript 放置在 nodejs 全局上下文中 - 并使其在浏览器中不可用。

因此,如果文件处于相反的上下文中,我们会看到诸如 $ is not defined$(...).button() is not a function 之类的错误。