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

我正在尝试在我的项目中使用一些jquery,一旦我尝试使用它,我在复制的代码中遇到错误,无法获得任何谷歌帮助

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,因为它明确要求windowwindow.document 。 尝试cheerio

尝试:

 var jsdom = require("jsdom").jsdom; var markup = '

Hello World!

Heya Big World!

'; var doc = jsdom(markup); var window = doc.parentWindow; var $ = require('jquery')(window) console.log($('.example').text());

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

我有同样的问题。 为了解决这个问题,我安装了旧版本的jquery: npm install jquery@1.8.3

它曾经工作很好几个月。 但后来他们改变了一些东西,现在却没有改变。 我可以在没有窗口的情况下运行jquery就好了,它在节点js上运行得很好。 但由于某种原因没有使用最新版本。 真的很奇怪。

我们要做的就是这样:

$ = require(“jquery”); $(“..)。find(”。message“)。html(”Hello World!“);