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 密码强度验证(兼容IE,火狐,谷歌)
Mar 15 Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 Javascript
js获取ajax返回值代码
Apr 30 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
May 28 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
Mar 13 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
Dec 18 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
Apr 26 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
Oct 13 Javascript
微信小程序从注册账号到上架(图文详解)
Jul 17 Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 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笔记之:日期函数的使用介绍
2013/04/24 PHP
php格式化时间戳
2016/12/17 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
Python在Console下显示文本进度条的方法
2016/02/14 Python
浅谈Python peewee 使用经验
2017/10/20 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
scrapy-splash简单使用详解
2021/02/21 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
2014年机关植树节活动方案
2014/02/27 职场文书
《木笛》教学反思
2014/03/01 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
机械操作工岗位职责
2014/08/08 职场文书
房产协议书范本
2014/10/18 职场文书
骨干教师申报材料
2014/12/17 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
运动会广播稿50字
2015/08/19 职场文书