我收到jQuery requires a window with a document
错误,似乎我需要一个答案:Error: jQuery requires a window with a document
我正在寻找的是使用import
而不是require
的正确语法,因为我不是require
- 我的Node应用中的任何其他内容。我试图让它在React组件中工作。我试过了:
import jsdom from 'jsdom';
import $ from 'jquery';
jsdom.jsdom().createWindow();
和
import jsdom from 'jsdom';
const $ = require('jquery')(jsdom.jsdom().createWindow());
但那不是让我在那里。我该如何解决这个问题?
答案 0 :(得分:0)
注意:这仅适用于旧版本的jsdom。
我为tests for using jQuery Mockjax in a Node context执行此操作。基本上,我使用jsdom env()
方法生成带有空白HTML文档的窗口对象:
const jsdom = require('jsdom');
let $;
jsdom.env('<html></html>', function (error, window) {
if (error) {
// handle this somehow
} else {
$ = require('jquery')(window);
// now you have it...
}
});