2016-04-20 17 views
0

Ich bin ganz neu in yeoman Generatoren (I viel 3rd-Party-Generatoren verwendet habe nur nie meine eigene geschrieben) ...Yeoman Prompt nie verlässt

Jedes Mal, wenn ich eine Frage an den Benutzer mit einer Eingabeaufforderung fragen, die Prozess nie verlassen:

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)); 
     } 
    } 
}); 

die Konsolenausgabe wie folgt aussieht:

$ 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... 

Wenn ich den Code für die prompten Kommentar-out, funktioniert alles wie erwartet.

$ yo debug-test 
Your first generator 

$ 

Warum sollte das Hinzufügen einer Eingabeaufforderung den Generator vom Verlassen anmutig verhindern? Fehle ich etwas im Generator, das den Async nicht korrekt schließt?

package.json

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

Sieht aus wie dies ein Problem mit MINGW64 bash war ich mit. Wenn ich zur nativen Windows-Eingabeaufforderung umschalte, funktioniert es wie erwartet.

Antwort

0

Node.js Unterstützung für die Befehlszeile ist ein bisschen flakey, besonders für Windows. https://github.com/nodejs/node/issues/5384

Probleme mit readline-bezogenen Modulen auf Eingabeaufforderungen sollten im Node.js Bug Tracker gemeldet werden, da es sich um ein Framework-Support-Problem handelt.