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 相关文章推荐
js监听键盘事件示例代码
Jul 26 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
Dec 04 Javascript
JavaScript实现的一个倒计时的类
Mar 12 Javascript
JSONP之我见
Mar 24 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
Mar 24 Javascript
基于JavaScript实现定时跳转到指定页面
Jan 01 Javascript
AngularJS 依赖注入详解及示例代码
Aug 17 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
May 03 Javascript
详解如何在你的Vue项目配置vux
Jun 04 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
学习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的日期处理函数及uchome的function_coomon中日期处理函数的研究
2011/01/12 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
python django集成cas验证系统
2014/07/14 Python
Python3.x中自定义比较函数
2015/04/24 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
Python实现简单猜数字游戏
2021/02/03 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
巧克力蛋糕店创业计划书
2014/01/14 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
诉前财产保全担保书
2014/05/20 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
先进工作者事迹材料
2014/12/23 职场文书
财产保全担保书
2015/01/20 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android