将jquery与nodejs一起使用时出现基本错误
我正试图在我的项目中使用一些jquery,当我尝试使用它时,我在复制的代码中遇到了一个错误,无法获得任何google帮助将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
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疯人院的行程推迟了几周!