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 相关文章推荐
两个select之间option的互相添加操作(jquery实现)
Nov 12 Javascript
javascript之AJAX框架使用说明
Apr 24 Javascript
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
JS取request值以及自动执行使用示例
Feb 24 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
Apr 16 Javascript
JavaScript面试开发常用的知识点总结
Aug 08 Javascript
AngularJS 单元测试(一)详解
Sep 21 Javascript
javascript的函数劫持浅析
Sep 26 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
Aug 29 Javascript
webpack 模块热替换原理
Apr 09 Javascript
解决layui-open关闭自身窗口的问题
Sep 10 Javascript
JavaScript实现图片伪异步上传过程解析
Apr 10 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日期时间函数的高级应用技巧
2009/05/16 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
js实现图片360度旋转
2017/01/22 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
web.py在模板中输出美元符号的方法
2014/08/26 Python
python实现kmp算法的实例代码
2019/04/03 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
怎么快速自学python
2020/06/22 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
市场专员岗位职责
2014/02/14 职场文书
节约用水标语
2014/06/11 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
推普标语口号大全
2015/12/26 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
python实现简单聊天功能
2021/07/07 Python
Docker下安装Oracle19c
2022/04/13 Servers