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。

时间: 2024-10-11 01:24:02

Node.js中使用jQuery的方法示例的相关文章

Node.js中使用jQuery的做法_node.js

首先,我们得安装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.j

node.js中的console.trace方法使用说明_node.js

方法说明: 向标准错误流输出当前的调用栈. 语法: 复制代码 代码如下: console.trace(label) 接收参数: label 例子: 复制代码 代码如下: console.trace();   //运行结果: Trace:      at Object.<anonymous> (/home/byvoid/consoletrace.js : 1: 71)      at Module._compile (module.js:441:26)      at Object..js (m

node.js中的http.get方法使用说明_node.js

方法说明: 由于大多数请求是不包含请求体的 GET请求.Node.js为请求提供了更加简便的方法. 该方法和 Http.request()的不同在于,该方法只以 GET 方式请求,并且会自动调用 req.end()来结束请求. 语法: 复制代码 代码如下: http.get(options, callback) 由于该方法属于http模块,使用前需要引入http模块(var http= require("http") ) 接收参数: option      表示请求网站的域名或IP地址

node.js中的path.resolve方法使用说明_node.js

方法说明: 将参数 to 位置的字符解析到一个绝对路径里. 语法: 复制代码 代码如下: path.resolve([from ...], to) 由于该方法属于path模块,使用前需要引入path模块(var path= require("path") ) 接收参数: from                     源路径 to                         将被解析到绝对路径的字符串 例子: 复制代码 代码如下: path.resolve('/foo/bar',

node.js中的buffer.copy方法使用说明_node.js

方法说明: 进行不同buffer之间的复制替换操作. 从源buffer复制数据 并替换到目标buffer的指定位置. 语法: 复制代码 代码如下: buffer.copy(targetBuffer, [targetStart], [sourceStart], [sourceEnd]) 接收参数: targetBuffer        目标buffer,执行复制替换的buffer targetStart           目标buffer数据替换的起始位置 sourceStart       

node.js中的buffer.fill方法使用说明_node.js

方法说明: 将制定数据填充到buffer中. 语法: 复制代码 代码如下: buffer.fill(value, [offset], [end]) 接收参数: value           将要填充的数据 offet           填充数据的开始位置,不指定默认为 0 end            填充数据的结束位置,不指定默认为 buffer 的 长度. 例子: 复制代码 代码如下: //例子1中,不指定填充内容的起止位置 var b = new Buffer(50); b.fill(

node.js中的buffer.slice方法使用说明_node.js

方法说明: 返回一个新的buffer对象,这个新buffer和老buffer公用一个内存. 但是被start和end索引偏移缩减了.(比如,一个buffer里有1到10个字节,我们只想要4-8个字节,就可以用这个函数buf.slice(4,8),因为他们共用一个内存,所以不会消耗内存,) 因为共用内存,所以修改新的buffer后,老buffer的内容同样也会被修改. 语法: 复制代码 代码如下: buffer.slice([start], [end]) 接收参数: start      开始位置

node.js中的fs.lstat方法使用说明_node.js

方法说明: 获取文件信息(不解析符号链接). 语法: 复制代码 代码如下: fs.lstat(path, [callback(err, stats)]) 由于该方法属于fs模块,使用前需要引入fs模块(var fs= require("fs") ) 接收参数: path   文件路径 callback  回调,传递两个参数,异常参数err, 文件信息数组 stats stats包含以下信息:(以下信息为案例中读取的文件信息,非默认值) 复制代码 代码如下: {    dev : 0 ,

node.js中的fs.fstat方法使用说明_node.js

方法说明: 根据文件描述符获取文件信息. 语法: 复制代码 代码如下: fs.fstat(fd, [callback(err, stats)]) 由于该方法属于fs模块,使用前需要引入fs模块(var fs= require("fs") ) 接收参数: fd                 文件描述符 callback       回调,传递2个参数,异常参数err 和 文件信息参数 stats stats包含以下信息:(以下信息为案例中读取的文件信息,非默认值) 复制代码 代码如下: