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