Я получаю различные результаты с module.exports
и был бы признателен за то, что кто-то помог мне укрепить очевидное отверстие, насколько мне известно.Различные результаты с использованием Node.js 'module.exports в Yeoman
Из следующего кода я получил результат, указанный ниже.
var generators = require('yeoman-generator');
var MyBase = generators.Base.extend({
helper: function() {
console.log('this is a helper method');
}
});
module.exports = MyBase.extend({
method1: function() {
console.log('method 1 just ran');
}
});
Результат:
method 1 just ran
Но если я помещаю module.exports
на отдельной строке, и назначить MyBase
к нему, я получаю следующий результат. Вот код:
var generators = require('yeoman-generator');
var MyBase = generators.Base.extend({
helper: function() {
console.log('this is a helper method');
}
});
MyBase.extend({
method1: function() {
console.log('method 1 just ran');
}
});
module.exports = MyBase
Результат:
this is a helper method
Что вызывает различие в выходах?
возможно .extend возвращает новый объект вместо изменения старого на месте? –
@JonahWilliams Это возможно. Но я думал, что цель «продлить» состояла в том, чтобы ** добавить ** к функциональности расширяемого объекта, а не перезаписать его. Нет? – Ben
Если это так, то расширение базы будет перезаписывать его –