教你如何在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 词法作用域和闭包分析说明
Aug 12 Javascript
js下通过prototype扩展实现indexOf的代码
Dec 08 Javascript
javascript 单例/单体模式(Singleton)
Apr 07 Javascript
使用 Node.js 做 Function Test实现方法
Oct 25 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
Oct 12 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
May 04 Javascript
React中使用UEditor百度富文本的方法
Aug 22 Javascript
jquery.pager.js实现分页效果
Jul 29 jQuery
vue-resource:jsonp请求百度搜索的接口示例
Nov 09 Javascript
浅析Vue 中的 render 函数
Feb 28 Javascript
用VsCode编辑TypeScript的实现方法
May 07 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
GD输出汉字的函数的分析
2006/10/09 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
PHP中文件上传的一个问题
2010/09/04 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
js href的用法
2010/05/13 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
Javascript数组操作函数总结
2015/02/05 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
树结构之JavaScript
2017/01/24 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
借助云开发实现小程序短信验证码的发送
2020/01/06 Javascript
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
Python中的进程分支fork和exec详解
2015/04/11 Python
简单学习Python time模块
2016/04/29 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
如何使用python操作vmware
2019/07/27 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
经营管理策划方案
2014/05/22 职场文书
南京大屠杀观后感
2015/06/02 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书