在摩卡testing中可以使用ES6模块吗?

ES6,Windows 10 x64,Node.js 8.6.0,摩卡3.5.3

在摩卡testing中可以使用ES6模块吗? 我有exportimport关键字的问题。

 /* eventEmitter.js */ /* Event emitter. */ export default class EventEmitter{ constructor(){ const subscriptions = new Map(); Object.defineProperty(this, 'subscriptions', { enumerable: false, configurable: false, get: function(){ return subscriptions; } }); } /* Add the event listener. * @eventName - the event name. * @listener - the listener. */ addListener(eventName, listener){ if(!eventName || !listener) return false; else{ if(this.subscriptions.has(eventName)){ const arr = this.subscriptions.get(eventName); arr.push(listener); } else{ const arr = [listener]; this.subscriptions.set(eventName, arr); } return true; } } /* Delete the event listener. * @eventName - the event name. * @listener - the listener. */ deleteListener(eventName, listener){ if(!eventName || !listener) return false; else{ if(this.subscriptions.has(eventName)){ const arr = this.subscriptions.get(eventName); let index = arr.indexOf(listener); if(index >= 0){ arr.splice(index, 1); return true; } else{ return false; } } else{ return false; } } } /* Emit the event. * @eventName - the event name. * @info - the event argument. */ emit(eventName, info){ if(!eventName || !this.subscriptions.has(eventName)) { return false; } else{ for(let fn of this.subscriptions.get(eventName)){ if(fn) fn(info); } return true; } } } 

摩卡testing:

 /* test.js * Mocha tests. */ import EventEmitter from '../../src/js/eventEmitter.js'; const assert = require('assert'); describe('EventEmitter', function() { describe('#constructor()', function() { it('should work.', function() { const em = new EventEmitter(); assert.equal(true, Boolean(em)); }); }); }); 

我直接通过PowerShell控制台启动mocha 。 结果:

在这里输入图像说明