Я ловлю вокруг с yoman и хочу написать свой первый генератор для простого шаблона html5. Моя проблема в том, что две функции в моем генераторе работают хорошо самостоятельно, но не вместе, и я не знаю, почему. Я проверил некоторые генераторы с страницы йомен, но я не вижу, что делаю неправильно. Я надеюсь, что вы можете мне помочь. Это мой код:Функция yoman copy не работает после запроса
'use strict';
var generators = require('yeoman-generator');
var yosay = require('yosay');
module.exports = generators.Base.extend({
initializing: function(){
this.log(yosay("\'Allo \'allo I will create your HTML5 Boilerplate..."));
},
prompting: function() {
var done = this.async();
this.prompt({
type: 'input',
name: 'name',
message: 'Your project name',
//Defaults to the project's folder name if the input is skipped
default: this.appname
}, function(answers) {
this.props = answers
this.log(answers.name);
done();
}.bind(this));
},
writing: function(){
this.fs.copyTpl(
this.templatePath('_page/_index.html'),
this.destinationPath('index.html'),
{ title: "answers.name" }
);
},
});
Заранее благодарен!
Спасибо, но это не работает :-(... консоль выдает ошибку "Object [Объект Объект] не имеет методы 'то'" ... я Я пытаюсь обновить генератор йома, но ошибка остается. Я не так много привык к обещаниям, но почему другие генераторы работают, которые не используют обещания? – sonnenpriester
Старый синтаксис, без обещаний, все еще работает - он просто может быть более ненадежным, чем новый метод. Чтобы лучше понять, что происходит, вы можете попытаться выполнить регистрацию 'this' в консоли - это должно относиться ко всему объекту генератора. Если это не так, это, вероятно, источниквашей проблемы. – Deimyts