教你如何在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 相关文章推荐
javascript开发中因空格引发的错误
Nov 08 Javascript
如何确保JavaScript的执行顺序 之实战篇
Mar 03 Javascript
非主流的textarea自增长实现js代码
Dec 20 Javascript
Javascript 构造函数详解
Oct 22 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
基于Javascript实现二级联动菜单效果
Mar 04 Javascript
javascript js 操作数组 增删改查的简单实现
Jun 20 Javascript
JavaScript随机生成颜色的方法
Oct 15 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
Nov 28 Javascript
微信小程序 UI与容器组件总结
Feb 21 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
RxJS的入门指引和初步应用
Jun 15 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
php设计模式 Proxy (代理模式)
2011/06/26 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
理工科学生的自我评价
2013/12/15 职场文书
全民健身日活动方案
2014/01/29 职场文书
护士进修自我鉴定
2014/02/07 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
导游词之襄阳古城
2019/09/27 职场文书
六年级作文之预言作文
2019/10/25 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
python 命令行传参方法总结
2021/05/25 Python
Python利用capstone实现反汇编
2022/04/06 Python
mysql查看表结构的三种方法总结
2022/07/07 MySQL