我需要创建一个yeoman生成器,该生成器遵循这样的层级结构-
yeoman生成器询问-用户是要创建一个新项目还是要在一个现有项目上工作,如果用户选择一个新项目,它会询问一组提示(即propmts1),是用户选择处理一个现有项目吗?询问他是否要从Github或npm导入项目,将根据此答案确定以下提示。
我找到了解决方法,但是效率不高。我现在使用的逻辑是我有一个对象数组,每个对象都是一个问题,但是问题是我必须检查每个提示上的条件,以确定是否应该问这个问题。
const prompts = [
{
type: "list",
name: "q1",
message: "What do you want to do today?",
choices: [
"A",
"B"
],
default: 0
},
{
type: "input",
name: "q2",
message:
"m2",
when: function(props) {
return props.q1 === prompts[0]["choices"][0];
}
},
{
type: "input",
name: "q3",
message:
'm3',
when: function(props) {
return props.q2;
}
},
{
type: "list",
name: "q4",
message:
"m4",
choices: ["c", "d"],
default: 0,
when: function(props) {
return !props.q3;
}
}
];