Node.js createWindow上的jsdom 500错误

Node.js createWindow上的jsdom 500错误,node.js,jsdom,Node.js,Jsdom,基本操作的故障。jsdom.jsdom在createWindow上返回500个错误 示例代码: var getaPage=function (req, res, callback) { jsdom.defaultDocumentFeatures={ FetchExternalResources : ['script'], ProcessExternalResources : ['script'], MutationEvent

基本操作的故障。jsdom.jsdom在createWindow上返回500个错误

示例代码:

var getaPage=function (req, res, callback) {
    jsdom.defaultDocumentFeatures={
        FetchExternalResources      : ['script'],
        ProcessExternalResources    : ['script'],
        MutationEvents              : '2.0',
        QuerySelector               : false
    };

    //This is someone's sample, my real code is more complex, but this shows the error
    var htmlDoc = '<html lang="en-US">' +
        '<head>' +
        '<title>Test document</title>' +
        '<script>' +
            'var testVar = true;' +
        '</script>' +
        '<script src=\'http://code.jquery.com/jquery-latest.js\'></script>' +
        '<script>' +
        '</script>' +
        '</head>' +
        '<body id="mainPage">' +
        '</body>' +
        '</html>';

    var tstDocument=jsdom.jsdom(htmlDoc);

    var tstWindow=tstDocument.createWindow();
    //yeah, I am just trhowing this out for the moment

    var contents=[{label:'a label', value:'a value'}];
    //real values after I get this thing working
    callback(contents);
};
如果我包括createWindow行,我在nodeJS控制台*中得到一个500错误。如果我将其注释掉,代码将运行到完成,并将内容返回给调用的应用程序。对该函数的ajax调用只会得到一个.fail状态,其中包含一个内部服务器错误

*GET/sample/getaPage 500 112ms-1.49kb

附加信息检查tstDocument对象时,我没有看到createWindow方法。为什么jsdom要创建一个没有createWindow方法的对象


我错过了什么?

好的,找到了我的解决方案。jsDom中不再存在createWindow。defaultView属性中提供了等效函数。如果弃用比删除方法更干净,那就更好了。

您会得到一个500错误,但它是如何显示的?这是个例外吗?什么地方有痕迹?使用此信息更新您的问题。500在nodeJS控制台上。