Не похоже, что вы можете расширить объект класса (в данном случае используемый как перечисление) в Node.js. ПримерУзел js, расширяющий унаследованный объект (как перечисление)
Foo
class Foo {}
Foo.action = {};
Foo.action.jump = 1;
module.exports = Foo;
Бар
var Foo = require('./foo');
var Baz = require('./baz');
class Bar extends Foo {
constructor(){
super();
this.baz = new Baz();
}
}
Bar.action.stay = 2;
module.exports = Bar;
Использование (редактирование, он используется в классе)
var Bar = require('./bar');
class Baz {
constructor(){
console.log(Bar.action); //undefined
}
}
module.exports = Baz;
Я бы это вопрос циклической зависимости.
Это [отлично работает для меня] (https://jsfiddle.net/xbtngykb/). Здесь что-то странное. – 4castle
Ваш код также работает на моей локальной машине. какую версию nodejs вы используете? – num8er
@ 4castle 'var b = new Bar(); console.log (b.action) ' – guest271314