如何使用import

时间:2018-01-25 20:28:57

标签: javascript node.js npm webpack

我收到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());

但那不是让我在那里。我该如何解决这个问题?

1 个答案:

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