【发布时间】:2020-06-17 20:36:33
【问题描述】:
我有带有子生成器的 yeoman 生成器。 我需要通过代码调用子生成器,我使用下面的代码正在工作,我看到子生成器被调用并且我在终端中得到了问题。
文档: https://yeoman.io/authoring/integrating-yeoman.html
var yeoman = require('yeoman-environment');
var env = yeoman.createEnv();
env.lookup(function () {
env.run('main:sub',err => {
console.log('done' ,err);
});
});
子生成器只有一个问题
prompting() {
const prompts = [
{
name: "app",
message: "which app to generate?",
type: "input",
default: this.props.app,
},
];
...
我想静默调用它,这意味着通过代码传递app 的值,而不是使用终端,我尝试这个不起作用,(我在终端)
env.lookup(function () {
env.run('main:sub',{"app":"nodejs"}, err => {
console.log('done' ,err);
});
});
也试过这个不起作用
env.lookup(function () {
env.run('main:sub --app nodejs', err => {
console.log('done' ,err);
});
});
我该怎么做?使用代码传递值(可能就像在单元测试中完成但此代码不是单元测试......当终端未被调用时) 从文档中我不确定如何传递值 https://yeoman.io/authoring/integrating-yeoman.html
我也找到了这个,但不太明白如何使用它将参数传递给生成器 http://yeoman.github.io/environment/Environment.html#.lookupGenerator 是否可以?
【问题讨论】:
标签: javascript node.js typescript yeoman yeoman-generator