Node.js v6.2.0类的扩展是不是函数错误?

所以我试图在节点js中扩展一个类,编译器不断返回以下错误:

TypeError: Class extends value #<Object> is not a function or null 

我检查了我是正确的出口类,我是,有什么想法? 我将在下面发布我的代码:

/handler/venue.js:

 var VenueViews = require('../views/venue'); // If I remove this the error will dissapear (as expected) class Venue { constructor(data) { this.setDataHere = data; } main () { var View = new VenueViews(); // This doesn't run } } module.exports = Venue; 

/views/venue.js:

 var Venue = require('../handlers/venue'); console.log (Venue) // This returns {} ??? class VenueViews extends Venue { constructor() { super(); } } module.exports = VenueViews; 

我知道节点支持这些es6 features ,所以我不确定他们为什么不工作?

编辑:

我不确定这是否会发生,但是当我login我的Venue要求它返回一个空对象{}

 console.log (Venue) // This returns {} ??? 

       

网上收集的解决方案 "Node.js v6.2.0类的扩展是不是函数错误?"

所以事实certificate,我在我的代码中有一个循环引用,在那里我正在importing正在扩展的类importing到本身正在扩展的类(绕口令:P)中。

显而易见的解决办法是简单地删除extends引用,并find另一种做法,我试图实现。 在我的情况下,它将Venue类的属性传递给VenueViews构造函数。

例如var x = VenueViews(this)