通过 JSDom 的 JQuery 不是一个提供 TypeError 的函子



使用io.js 1.3.0使用JSDOM 4.0.1与Mocha 2.0.1和Jquery 2.1.1在Windows

以下代码:

 var chai = require('chai');
 var jsdom = require('jsdom');
describe('JSDOM', function () {
var $;
beforeEach(function () {
    global.document = jsdom.jsdom('<html><body><section id="banner"></section></body></html>');
    global.window = global.document.defaultView;
    global.navigator = global.window.navigator;
    $ = global.jQuery = require('jquery')(global.window);
})
it('Using jquery', function () {
    var dom = $("#banner");
});
});

使用 typeError:对象尝试使用jQuery选择器作为函数(即$(...))时,对象不是函数。还有其他人遇到这一点并有解决方法吗?

问题是您设置了设置global.windowglobal.document。jQuery正在检查那些是否在浏览器中运行的人。

这会导致require('jquery')(global.window)包装窗口而不是运行jQuery Factory功能,就像$(window)一样。

相关内容

最新更新