YEOMAN 运行 一个函数中的多个子生成器
YEOMAN run multiple sub generators in one function
我有一个基于 angular 的生成器,带有三个用于控制器指令和服务的子生成器。我想 运行 一个函数,它同时采用 NAME variable/input 和 运行 所有这三个,而不是必须 运行 每个单独。
Yeoman 提供 composeWith()
(docs),您可以使用它来调用其他(子)生成器。
'use strict';
var generators = require('yeoman-generator');
module.exports = generators.Base.extend({
constructor: function () {
generators.Base.apply(this, arguments);
this.argument('theName', {
type: String,
required: true
});
},
initializing: function() {
this.composeWith('my-generator:mysubgen1', { args: [this.theName] });
this.composeWith('my-generator:mysubgen2', { args: [this.theName] });
}
});
在上面的示例中,我假设您的生成器名为 my-generator
并且有两个子生成器(mysubgen1
和 mysubgen2
)。
上面的代码将进入第三个子生成器,例如doall
。如果你调用 $ yo my-generator:doall foobar
它现在会 运行 两个组合的子生成器,传递 foobar
作为第一个参数。
我有一个基于 angular 的生成器,带有三个用于控制器指令和服务的子生成器。我想 运行 一个函数,它同时采用 NAME variable/input 和 运行 所有这三个,而不是必须 运行 每个单独。
Yeoman 提供 composeWith()
(docs),您可以使用它来调用其他(子)生成器。
'use strict';
var generators = require('yeoman-generator');
module.exports = generators.Base.extend({
constructor: function () {
generators.Base.apply(this, arguments);
this.argument('theName', {
type: String,
required: true
});
},
initializing: function() {
this.composeWith('my-generator:mysubgen1', { args: [this.theName] });
this.composeWith('my-generator:mysubgen2', { args: [this.theName] });
}
});
在上面的示例中,我假设您的生成器名为 my-generator
并且有两个子生成器(mysubgen1
和 mysubgen2
)。
上面的代码将进入第三个子生成器,例如doall
。如果你调用 $ yo my-generator:doall foobar
它现在会 运行 两个组合的子生成器,传递 foobar
作为第一个参数。