下面的代码只是我 server.js 文件中的一小段代码,仅用于运行 jsdom 文档提供的测试。
var window = jsdom.jsdom().createWindow();
jsdom.jQueryify(window, './jq.min.js' , function() {
console.log('inside');
window.$('body').append('<div class="testing">Hello World, It works</div>');
console.log(window.$('.testing').text());
console.log('end');
});
我得到的输出只是inside
然后服务器挂起并且永远不会返回。我添加了一个调试语句console.log(window);
来查看窗口对象是否真正被创建,并且我最终得到了一个相当大的输出语句,详细说明了对象的内容。然而,我确实注意到的一件事是输出没有显示这$
是window
对象的定义方法,实际上是console.log(window.$);
renders undefined
。
我知道 jsdom 仍处于开发模式,但是我在这里缺少什么吗?
正如一些背景知识一样,我尝试了代码的几种变体,包括使用该jsdom.env()
方法以及从现有的 HTML 标记构建文档,这两种方法都没有呈现预期的结果。