Javascript 节点可以';无法加载应用程序,因为它不';我不认识jQuery
我正在尝试使用Node调试包含一些JQuery的Javascript文件。但加载文件时,它在$上无法识别。 我已经将JQuery安装到本地包(Javascript 节点可以';无法加载应用程序,因为它不';我不认识jQuery,javascript,jquery,node.js,debugging,visual-studio-code,Javascript,Jquery,Node.js,Debugging,Visual Studio Code,我正在尝试使用Node调试包含一些JQuery的Javascript文件。但加载文件时,它在$上无法识别。 我已经将JQuery安装到本地包(npm安装JQuery-save dev) “npmjquery-version”结果是6.9.8 代码: $("#modalAddRole").on("modal:visible", function () { $("#roleName").val(""); $("#roleName").focus(); }); 操纵dom node.
npm安装JQuery-save dev
)
“npmjquery-version
”结果是6.9.8
代码:
$("#modalAddRole").on("modal:visible", function () {
$("#roleName").val("");
$("#roleName").focus();
});
操纵dom
node.js没有dom
您需要创建一个虚拟dom(不显示)
为此,请使用加载网页/应用程序,然后执行所需的任何dom操作代码
示例:
const jsdom = require("jsdom");
const {JSDOM} = jsdom;
const jquery = require('jquery');
JSDOM.fromURL("https://url_To_Your_WebPage_Local_Or_Remote.com")
.then(dom => {
const $ = jquery(dom.window);
//your jQuery code here
})
我已将JQuery安装到本地包
安装它是不够的。您需要将其加载到您的程序中
const $ = require('jquery');
…然后,$(“#modalAddRole”)
将不起任何作用,除非您将HTML加载到其中
见:
要使jQuery在节点中工作,需要一个包含文档的窗口。
由于节点中本机不存在这样的窗口,因此可以通过
诸如jsdom之类的工具。这对于测试目的很有用
require("jsdom").env("", function(err, window) {
if (err) {
console.error(err);
return;
}
var $ = require("jquery")(window);
});
但这似乎是一种非常复杂的方法来运行调试环境。假设在浏览器中为代码设置了生产环境,那么在浏览器中调试代码将更有意义
如今,浏览器内置了优秀的调试工具,模拟浏览器在默认情况下所做的所有事情可能会使调试更加困难,因为调试环境与生产环境明显不同。可以添加“jquery语法”吗到节点?看一下@TheRuler的答案-没有“jQuery语法”这样的东西。jQuery只是一个用常规JavaScript语法编写的对象集合。@Quentin这个集合就是语法。但是请把你的opiniion@TheRuler-这不是一种意见。语法有特定的含义。我通常使用浏览器进行调试,但总是对其他方法感到好奇