Yeoman提示永远不会退出

时间:2016-04-20 18:23:23

标签: mingw yeoman yeoman-generator mingw-w64

我是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 bash的问题。如果我切换到本机Windows命令提示符,它会按预期工作。

1 个答案:

答案 0 :(得分:0)

Node.js对命令行的支持有点不对劲,特别是对于windows。 https://github.com/nodejs/node/issues/5384

应该在Node.js错误跟踪器上报告在任何提示上使用与readline相关的模块的问题,因为这是一个框架支持问题。