unt*_*led 11 jquery node.js jsdom io.js
我正在从node.js迁移到io.js,而我的旧node.js代码不适用于jsdom @ 5.
var jsdom=require('jsdom');
var $=require('jquery')(jsdom.jsdom().createWindow);
Run Code Online (Sandbox Code Playgroud)
这是错误:
/tmp/iojs/node_modules/jquery/dist/jquery.js:28
if ( !w.document ) {
^
TypeError: Cannot read property 'document' of undefined
at module.exports (/tmp/iojs/node_modules/jquery/dist/jquery.js:28:12)
at Object.<anonymous> (/tmp/iojs/test.js:2:24)
at Module._compile (module.js:431:26)
at Object.Module._extensions..js (module.js:449:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:472:10)
at startup (node.js:124:18)
at node.js:959:3
Run Code Online (Sandbox Code Playgroud)
我正在使用最新的io.js v2.0.1
,jsdom@5.4.1
和jquery@2.1.4
.
在jsdom @ 5中使用jQuery的正确方法是什么?
und*_*ned 27
以下内容更符合您的要求.看看回购
// using Version 5.4.1
var jsdom = require('jsdom').jsdom;
var document = jsdom('<html></html>', {});
var window = document.defaultView;
var $ = require('jquery')(window);
Run Code Online (Sandbox Code Playgroud)
原始代码的具体问题是它使用的createWindow
API 在jsdom 1.0.0-pre.1中被删除.(请注意,该document.parentWindow
更改日志条目中的建议随后在4.0.0中被删除.)
查看文档https://github.com/tmpvar/jsdom.这适用于jsdom@11.5.1
var jsdom = require('jsdom');
const { JSDOM } = jsdom;
const { window } = new JSDOM('<html></html>');
var $ = require('jquery')(window);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13140 次 |
最近记录: |