教你如何在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 相关文章推荐
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
JavaScript动态调整TextArea高度的代码
Dec 28 Javascript
js call方法详细介绍(js 的继承)
Nov 18 Javascript
jQuery操作表单常用控件方法小结
Mar 23 Javascript
js实现的牛顿摆效果
Mar 31 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
详解vue渲染从后台获取的json数据
Jul 06 Javascript
jQuery实现html双向绑定功能示例
Oct 09 jQuery
js实现div色块拖动录制
Jan 16 Javascript
vue开发简单上传图片功能
Jun 30 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 Javascript
OpenLayer3自定义测量控件MeasureTool
Sep 28 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 在线翻译函数代码
2009/05/07 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
php图片裁剪函数
2018/10/31 PHP
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
详解JS函数防抖
2020/06/05 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
传媒专业推荐信范文
2013/11/23 职场文书
药学专业大专生的自我评价
2013/12/12 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
Python机器学习之基础概述
2021/05/19 Python
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL