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 17 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
css配合jquery美化 select
Nov 29 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
May 19 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
AngularJS轻松实现双击排序的功能
Aug 30 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
Feb 27 Javascript
vue通过路由实现页面刷新的方法
Jan 25 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 Javascript
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
vue elementUI 表单校验功能之数组多层嵌套
Jun 04 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中的命名空间相关概念浅析
2015/01/22 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
更正确的asp冒泡排序
2007/05/24 Javascript
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
js实现微博发布小功能
2017/01/12 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
Vue实现todolist删除功能
2018/06/26 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
jQuery实现html可联动的百分比进度条
2020/03/26 jQuery
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
python中lambda()的用法
2017/11/16 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
python中 * 的用法详解
2019/07/10 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
团员个人的自我评价
2013/12/02 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
Python面向对象编程之类的概念
2021/11/01 Python