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 相关文章推荐
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
Nov 24 Javascript
jquery对表单操作2
Apr 06 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
iframe调用父页面函数示例详解
Jul 17 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
Jul 17 Javascript
基于Vue.js实现tab滑块效果
Jul 23 Javascript
微信小程序 POST请求的实例详解
Sep 29 Javascript
angular中ui calendar的一些使用心得(推荐)
Nov 03 Javascript
微信小程序radio组件使用详解
Jan 31 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
JavaScript Window浏览器对象模型原理解析
May 30 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
Nov 12 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实现微信图片上传到服务器的方法示例
2017/06/29 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
Python模块包中__init__.py文件功能分析
2016/06/14 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
python 绘制正态曲线的示例
2020/09/24 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
建筑设计所实习生自我鉴定
2013/09/25 职场文书
采购部主管岗位职责
2014/01/01 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
前台岗位职责
2015/02/13 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle