Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将jquery与nodejs一起使用时出现基本错误_Jquery_Node.js - Fatal编程技术网

将jquery与nodejs一起使用时出现基本错误

将jquery与nodejs一起使用时出现基本错误,jquery,node.js,Jquery,Node.js,我正试图在我的项目中使用一些jquery,当我尝试使用它时,我在复制的代码中遇到了一个错误,无法获得任何google帮助 var jquery = require('jquery'); var $ = jquery.create(); ^ TypeError: Object function ( w ) { if ( !w.document ) { throw new Error( "jQuery requires a wind

我正试图在我的项目中使用一些jquery,当我尝试使用它时,我在复制的代码中遇到了一个错误,无法获得任何google帮助

 var jquery = require('jquery');
 var $ = jquery.create();
                ^
 TypeError: Object function ( w ) {
     if ( !w.document ) {
          throw new Error( "jQuery requires a window with a document" );
     }
     return factory( w );
 } has no method 'create'
长话短说:

我正在尝试从一些html中获取纯文本

我希望使用
.text()
函数来实现这一点

我的结果代码应该是:

console.log($(data).text());

您不能在服务器上使用jquery,因为它明确要求
window
window.document
。试试看,它过去好几个月都很好用。但后来他们改变了一些东西,现在却没有。我可以在没有窗口的情况下运行jquery,它在NodeJS上运行得非常好。但由于某些原因,最新版本没有。真奇怪

我们正试图做的只是:

$=需要(“jquery”);
$(“).find(“.message”).html(“Hello World!”);

我也遇到了同样的问题。为了解决这个问题,我安装了一个较旧版本的jquery:
npm安装jquery@1.8.3

试试:

var jsdom = require("jsdom").jsdom;
var markup = '<html><body><h1 class="example">Hello World!</h1><p class="hello">Heya Big World!</body></html>';
var doc = jsdom(markup);
var window = doc.parentWindow;
var $ = require('jquery')(window)
console.log($('.example').text());
var jsdom=require(“jsdom”).jsdom;
var markup='Hello World!

Heya Big World!'; var doc=jsdom(标记); var window=doc.parentWindow; var$=require('jquery')(窗口) console.log($('.example').text());


基本上,您可以使用jsdom模块从标记中创建DOM,然后您可以像在浏览器中使用jquery一样使用它。

您可能做了完全错误的事情。您想做什么?您在使用库吗?我在依赖项中添加了“jquery”:“>=0.0.0”,似乎您在服务器端使用jquery(因此在node.js内部)和jQuery尝试查找浏览器窗口的文档。但是,由于您不是在浏览器中运行,因此无法找到任何文档。恐怕SLaks注释是正确的。您是否在windows(OS)上运行是的。似乎我不能。不幸的是,cheerio没有简单的html->纯文本,但我会继续寻找。这对我来说似乎没有意义。如果Node.js的jQuery模块不能在服务器端使用,那有什么用呢?我的意思是,如果我想在客户端使用它,我只会在页面上包含它。因此,没有jQueryNode.js,这就是问题所在。它在npm上的事实并不能使它成为Node.js模块。有一些库允许您在服务器端使用jQuery:感谢第5行
var$=require('jQuery')(窗口)
将我去jQuery疯人院的行程推迟了几周!