Node.js中使用jQuery的做法


Posted in Javascript onAugust 17, 2016

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

Javascript 相关文章推荐
一些相见恨晚的 JavaScript 技巧
Apr 25 Javascript
Javascript中的变量使用说明
May 18 Javascript
用js获取电脑信息(是使用与IE浏览器)
Jan 15 Javascript
JS禁用浏览器退格键实现思路及代码
Oct 29 Javascript
JS判断不能为空实例代码
Nov 26 Javascript
原生js和jQuery随意改变div属性style的名称和值
Oct 22 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
利用PM2部署node.js项目的方法教程
May 10 Javascript
ES6 系列之 Generator 的自动执行的方法示例
Oct 19 Javascript
vue+egg+jwt实现登录验证的示例代码
May 18 Javascript
JS实现音量控制拖动
Jan 15 Javascript
学习Angular中作用域需要注意的坑
Aug 17 #Javascript
js enter键激发事件实例代码
Aug 17 #Javascript
jquery过滤特殊字符',防sql注入的实现方法
Aug 17 #Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 #Javascript
在javascript中使用com组件的简单实现方法
Aug 17 #Javascript
模拟javascript中的sort排序(简单实例)
Aug 17 #Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
Aug 17 #Javascript
You might like
php下过滤HTML代码的函数
2007/12/10 PHP
解析php中反射的应用
2013/06/18 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
个人实习生的自我评价
2014/02/16 职场文书
初三学习计划书范文
2014/04/30 职场文书
小学庆六一活动总结
2014/08/28 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
党员争先创优承诺书
2015/01/20 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js