想要在NodeJs中使用jQuery?
首先,我们得安装jquery,npm install jquery
。安装后的版本是3.1.0
接着,第一感觉我们会使用var $ = require('jquery')
。
将以下代码保存为app.js
var $ = require('jquery')
$("body").append("<div>TEST</div>");
console.log($("body").html());
运行node app.js
。提示错误:
Error: jQuery requires a window with a document
那么我们该怎么做呢?
在npm的jquery安装包首页,我们看到可以使用jsdom进行模拟一个document。
require("jsdom").env("", function(err, window) {
if (err) {
console.error(err);
return;
}
var $ = require("jquery")(window);
$("body").append("<div>TEST</div>");
console.log($("body").html());
});
运行,结果OK。
上面的代码,有一个让我不太舒服的地方就是要在回调函数中进行操作。那么我们如何做才可以不在回调函数中进行引入jquery呢?
var $ = require('jquery')(require("jsdom").jsdom().defaultView);
$("body").append("<div>TEST</div>");
console.log($("body").html());
一样运行OK。