2016-04-20 8 views
0

Я новенькая yeoman генераторов (я использовал множество генераторов 3-й партии просто никогда не писали свой собственный) ...Yeoman подскажет никогда не выходит из

Всякий раз, когда я задаю вопрос к пользователю с запросом, то процесс никогда не выходит:

var generators = require('yeoman-generator'); 

module.exports = generators.Base.extend({ 
    // The name `constructor` is important here 
    constructor: function() { 
    // Calling the super constructor is important so our generator is correctly set up 
    generators.Base.apply(this, arguments); 

    // Next, add your custom code 
    this.option('coffee'); // This method adds support for a `--coffee` flag 
    this.log('Your first generator'); 
    }, 
    prompting: { 
     askForInsightOptIn: function() { 
      var done = this.async(); 
      this.prompt({ 
       type: 'confirm', 
       name: 'insight', 
       message: 'How are you?', 
       default: true 
      }, function (prompt) { 
       done(); 
      }.bind(this)); 
     } 
    } 
}); 

консоль вывода выглядит следующим образом:

$ yo debug-test 
Your first generator 
? How are you? (Y/n) y 
? How are you? Yes 

I can type anything here and it never responds 

waiting... 

Если я закомментировать код приглашения, все работает, как ожидалось.

$ yo debug-test 
Your first generator 

$ 

Зачем добавлять приглашение предотвратить генератор от выхода из грациозно? Я что-то пропустил в генераторе, который не закрывает асинхронно?

package.json

{ 
    "name": "generator-debug-test", 
    "version": "0.1.0", 
    "description": "", 
    "files": [ 
    "app", 
    "router" 
    ], 
    "keywords": ["yeoman-generator"], 
    "dependencies": { 
    "yeoman-generator": "^0.20.2" 
    } 
} 

Похоже, это проблема с MINGW64 Баш я использовал. Если я перейду к командной строке родного окна, он будет работать, как ожидалось.

ответ

0

Поддержка Node.js для командной строки немного пушистая, особенно для окон. https://github.com/nodejs/node/issues/5384

Проблемы с использованием модулей, связанных с readline, в любых приглашениях должны сообщаться в трекеру Node.js, так как это проблема с поддержкой структуры.