我正在努力让mocha,jsdom,es6模块与babel一起玩jquery.
这是一个模块
// lib/dom.js
import $ from 'jquery';
const node = (tag)=> $(`<${tag} />`)
export {
node
}
Run Code Online (Sandbox Code Playgroud)
这是一个测试
// test/dom.js
import assert from 'assert';
import { node } from '../src/lib/dom';
describe('node(tag)', ()=> {
it('should return a Node', ()=> {
let img = node('img');
assert(img.nodeName === 'IMG');
});
});
Run Code Online (Sandbox Code Playgroud)
这是jsdom的设置
// test/_setup.js
var jsdom = require('jsdom');
global.document = jsdom.jsdom('<!doctype html><html><body></body></html>');
global.window = document.parentWindow;
Run Code Online (Sandbox Code Playgroud)
要运行的脚本
mocha --compilers js:babel-register --recursive
Run Code Online (Sandbox Code Playgroud)
我需要更改以允许jsdom加载jquery,以便dom.js可以加载jquery模块而不会收到错误:
错误:jQuery需要一个带文档的窗口