javascript - 如何在 yeoman 上下文中从 `this.prompt` 获取存储的选项?

标签 javascript yeoman scaffolding yeoman-generator

基本上,自耕农强制你向开发人员询问你需要的一切。尽管如此,这是一件好事,您可以存储一些东西,并且在将来的运行中这些东西将自动为开发人员完成。重点是我不想问开发者是否已经回答了这些问题。

这是基本 yeoman 生成器的示例(name 将被保存并稍后自动完成):

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

module.exports = yeoman.generators.Base.extend({
  init: function () {
    var cb = this.async();

    this.prompt([{
      name: 'name',
      message: 'your name:',
      store: true,
    }, {
      name: 'moduleName',
      message: 'module name:'
    }], function (props) {
      console.log(
        props.name,      // developer’s name
        props.moduleName // module’s name
      )
    }.bind(this));
  },
}
});

问题是如何从 yeoman 上下文中的 this.prompt 获取存储的选项来执行如下操作:

this.prompt([!this.name.stored && {
  name: 'name', // so after first run this will never be asked again
  message: 'your name:',
  store: true,
}, {
  name: 'moduleName',
  message: 'module name:'
}], function (props) {
  console.log(
    props.name,      // developer’s name
    props.moduleName // module’s name
  )
}.bind(this));

最佳答案

没有公开的方式来访问存储的先前提示答案。

如果您想缓存一些数据并稍后访问它,请使用 storage functionality (this.config)

FWIW,提示缓存存储在私有(private)this._globalConfig中。我添加此详细信息是为了完整性,您可能不应该使用它。

关于javascript - 如何在 yeoman 上下文中从 `this.prompt` 获取存储的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33265842/

相关文章:

ruby-on-rails - 生成引用一个模型的脚手架,该模型引用另一个模型

asp.net-mvc - 在 ASP.NET MVC 2 中模板化 Html.DisplayFor()

javascript - 如何在 jQuery 中启用/禁用表格行

javascript - 咕噜声 : Automatically adding script tags

node.js - NodeJS+CompoundJS 中的助手

javascript - Grunt 将带点的文件夹视为文件

yeoman - 如何防止 Bower 使我的应用程序膨胀?

javascript - 如何导航回搜索页面?

javascript - express.js 样板代码的用途是什么?

javascript - Vue : pug language has not been recognized in . 模板