【问题标题】:yeoman generator : repeat a promptyeoman 生成器:重复提示
【发布时间】:2013-12-03 22:12:15
【问题描述】:

我正在创建一个自定义 yeoman 生成器,我需要根据用户响应创建一个数组: 我如何重复一个问题并将答案推送到一个数组?

例如: 增加价值?是/否 如是 值 = ?

添加一个值?是/否 ...

目前,我有这个代码:

    MyGenerator.prototype.askFor = function askFor() {
  var cb = this.async();

  console.log(this.yeoman);

  var prompts = [

{
    type: 'confirm',
    name: 'addvalue',
    message: 'Add value ?',
    default: true
  },
{
    name: 'myarray',
    message: 'Value =',
}
];

  this.prompt(prompts, function (props) {
    this.addvalue = props.addvalue;

    cb();
  }.bind(this));
};

【问题讨论】:

标签: generator yeoman


【解决方案1】:

只需使用递归函数。

示例(由于this 上下文而无法正常工作):

function askSomething() {
    this.prompt({ /* some prompts */ }, function (answers) {
        // call the function back if needed
        askSomething();
    });
}

【讨论】:

  • 我还有其他问题,我不想重复所有问题。
  • 只需使用生成器中的多个提示函数递归一部分提示即可。基础编程。您可以检查yo 命令行工具库,它正在对提示进行递归。
  • 遗憾的是,当您尝试编写自动化测试时,这会失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-11
相关资源
最近更新 更多