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 相关文章推荐
SlideView 图片滑动(扩展/收缩)展示效果
Aug 01 Javascript
javascipt基础内容--需要注意的细节
Apr 10 Javascript
用innerhtml提高页面打开速度的方法
Aug 02 Javascript
window.print打印指定div实例代码
Dec 13 Javascript
Jquery对数组的操作技巧整理
Mar 25 Javascript
JQuery1.8 判断元素是否绑定事件的方法
Jul 10 Javascript
JS实现OCX控件的事件响应示例
Sep 17 Javascript
JS实现很实用的对联广告代码(可自适应高度)
Sep 18 Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 Javascript
详解JS构造函数中this和return
Sep 16 Javascript
react 中父组件与子组件双向绑定问题
May 20 Javascript
使用typescript构建Vue应用的实现
Aug 26 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
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
理解javascript模块化
2016/03/28 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
Python使用multiprocessing创建进程的方法
2015/06/04 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
Python @property原理解析和用法实例
2020/02/11 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
计算机专业毕业生求职信分享
2013/12/24 职场文书
便利店的创业计划书
2014/01/15 职场文书
大型车展策划方案
2014/02/01 职场文书
公益活动邀请函
2014/02/05 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
离婚财产处理协议书
2014/09/30 职场文书
任命书标准格式
2015/03/02 职场文书
会议简报格式范文
2015/07/20 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers