想要在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());