在Node.js中使用jQuery

想要在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。