将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,因为它明确要求window
和window.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!“);