教你如何在Node.js中使用jQuery


Posted in Javascript onAugust 28, 2016

想要在NodeJs中使用jQuery?

首先,我们得安装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。

以上就是本文给大家分享的全部内容了,希望对大家学习node.js能够有所帮助

Javascript 相关文章推荐
js控制框架刷新
Aug 01 Javascript
图片Slider 带左右按钮的js示例
Aug 30 Javascript
jquery定时滑出可最小化的底部提示层特效代码
Oct 02 Javascript
使用js获取图片原始尺寸
Dec 03 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
基于gulp合并压缩Seajs模块的方式说明
Jun 14 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
Sep 22 Javascript
JavaScript中const、var和let区别浅析
Oct 11 Javascript
JS实现课堂随机点名和顺序点名
Mar 09 Javascript
jQuery zTree插件快速实现目录树
Aug 16 jQuery
eslint+prettier统一代码风格的实现方法
Jul 22 Javascript
js中延迟加载和预加载的具体使用
Jan 14 Javascript
分享JavaScript监听全部Ajax请求事件的方法
Aug 28 #Javascript
Node.js 日志处理模块log4js
Aug 28 #Javascript
node.js中 stream使用教程
Aug 28 #Javascript
ionic组件ion-tabs选项卡切换效果实例
Aug 27 #Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 #Javascript
ionic实现带字的toggle滑动组件
Aug 27 #Javascript
ionic实现可滑动的tab选项卡切换效果
Apr 15 #Javascript
You might like
PHP 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
详解vue开发中调用微信jssdk的问题
2019/04/16 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
python-str,list,set间的转换实例
2018/06/27 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
大学三年的自我评价
2013/12/25 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
公司酒会致辞
2015/07/30 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书