【发布时间】:2016-09-15 16:23:33
【问题描述】:
所以我试图在 node 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,所以我不确定它们为什么不起作用?
编辑:
我不确定这是否会发生,但是当我记录我的 Venue 要求时,它会返回一个空对象 {}。
console.log (Venue) // This returns {} ???
【问题讨论】:
-
今天早些时候有些人遇到了同样的问题:stackoverflow.com/q/37307471/218196。问题:循环引用。解决方案:想办法避免循环引用。
-
我的代码有什么特点?我只是想继承所有
Venue类属性并在VenueViews类中使用它们。 @FelixKling -
“我的代码有什么循环?”
/views/venue.js导入/handler/venue.js导入/views/venue.js导入/handler/venue.js.... 我可以继续: P -
您的视图不应该从场地继承。
-
是的,现在我明白了! @FelixKling 没有注意:P
标签: javascript node.js ecmascript-6