2017-02-18 40 views
0

Я сижу здесь в течение 3 часов подряд, пытаясь выяснить, как я могу экспортировать класс из одного файла, потребовать его (несколько раз) в другие файлы, чтобы этот класс мог быть расширен.Правильно экспортируйте классы в node.js, чтобы расширить их в других необходимых файлах

Мой текущий код выглядит примерно так:

// base.js // 
class Base { 
    constructor() { ... } 
} 

exports = Base; 

// extension.js // 
var Base = require('./base.js'); 

class Extension extends Base { 
    constructor() { ... } 
} 

я получаю Exception говорил мне, что «Base» не является конструктором. Когда я запускаю console.log (Base), я получаю пустой объект. Я что-то совершенно не так, или мое желание невозможно?

Буду рад за любую помощь!

+1

Почему вы не делаете 'module.exports = Base;'? И если вы используете ES6, почему бы не «экспортировать default Base»? – Li357

+0

Это так неловко. Как я пропустил модуль. * Мне совершенно непонятно. Огромное вам спасибо, я сейчас буду в агонии. – Qrakhen

ответ

1

Узел пока не поддерживает обычный ES6 экспорт. Так что модуль.exports требуется, как сказано в комментариях.