帮助!我正在尝试在我的node.js应用程序中使用jquery,但是当我尝试使用'$'时却不断出错,并说“未定义$”,但是我在顶部定义了它!这是我所做的:
我从npm安装了两个软件包,如下所示:
npm install jquery
npm install jsdom
然后在我的node.js应用中需要它们:
require("jsdom").env("", function(err, window) {
if (err) {
console.error(err);
return;
}
var $ = require("jquery")(window);
});
doSomething();
然后,我试图像这样使用它:
function doSomething(){
var deferred = $.Deferred();
}
我收到以下错误:
var deferred = $.Deferred();
^
ReferenceError: $ is not defined
你觉得function
是越来越执行之前的var $ =
一部分吗?
谢谢!
版本:
根据每个人的答案,这是我最终使用的内容!
var $;
require("jsdom").env("", function(err, window) {
if (err) {
console.error(err);
return;
}
$ = require("jquery")(window);
doSomething();
});
如果jsdom.env函数的边界在外部,则声明doSomething函数。$仅可在该回调内部访问。这样的事情应该起作用:
var $;
require("jsdom").env("", function(err, window) {
if (err) {
console.error(err);
return;
}
$ = require("jquery")(window);
doSomething();
});
function doSomething(){
var deferred = $.Deferred();
}
虽然我认为只在回调内部声明doSomething会更加惯用。这样,它将可以从外部范围访问jquery。
require("jsdom").env("", function(err, window) {
if (err) {
console.error(err);
return;
}
function doSomething(){
var deferred = $.Deferred();
}
var $ = require("jquery")(window);
doSomething();
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句