簡體   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