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 实现图片无缝滚动
Dec 19 Javascript
jQuery中:last选择器用法实例
Dec 30 Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 Javascript
深入理解jQuery3.0的domManip函数
Sep 01 Javascript
微信小程序 Audio API详解及实例代码
Sep 30 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 Javascript
详解vuejs之v-for列表渲染
Jun 22 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
Apr 05 Javascript
详解AngularJS 过滤器的使用
Jun 02 Javascript
vue click.stop阻止点击事件继续传播的方法
Sep 04 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
Sep 29 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默认安装产生系统漏洞
2006/10/09 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
js实现登录与注册界面
2017/11/01 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
详解Python3中ceil()函数用法
2019/02/19 Python
如何使用python传入不确定个数参数
2020/02/18 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
旅游项目开发策划书
2014/01/18 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
书法社团活动总结
2015/05/07 职场文书
教师师德承诺书2016
2016/03/25 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python