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 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
jQuery JSON的解析方式分享
Apr 05 Javascript
js常用自定义公共函数汇总
Jan 15 Javascript
JS生成随机字符串的多种方法
Jun 10 Javascript
浅谈javascript 函数属性和方法
Jan 21 Javascript
JavaScript Uploadify文件上传实例
Feb 28 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
jQuery 操作 HTML 元素和属性的方法
Nov 12 jQuery
js单线程的本质 Event Loop解析
Oct 29 Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 Javascript
解决await在forEach中不起作用的问题
Feb 25 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
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
Django中的Signal代码详解
2018/02/05 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
python利用opencv保存、播放视频
2020/11/02 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
如何查找和删除数据库中的重复数据
2014/11/05 面试题
工业设计专业个人求职信范文
2013/12/28 职场文书
40岁生日感言
2014/02/15 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
自我推荐信格式模板
2015/03/24 职场文书
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL
利用Redis实现点赞功能的示例代码
2022/06/28 Redis