[英]Browserify with jQuery >= 2 produces “jQuery requires a window with a document”
[英]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.