繁体   English   中英

如何使用导入解决“ jQuery需要带有文档的窗口”

[英]How to resolve “jQuery requires a window with a document” with import

我得到jQuery requires a window with a document错误jQuery requires a window with a document并且似乎我需要一个类似的答案: 错误:jQuery需要带有文档的窗口

我正在寻找的是使用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());

但这并不能使我到达那里。 我该如何解决?

注意 :这仅适用于旧版本的jsdom。

我这样做是为了在Node上下文中使用jQuery Mockjax进行测试 本质上,我使用jsdom env()方法生成带有空白HTML文档的window对象:

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...
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM