Yeoman发电机composeWith

时间:2016-06-05 15:27:06

标签: node.js yeoman yeoman-generator

我正在构建一个使用另一个子生成器的生成器,使用composeWith。

我使用npm install -g generator-my-generator安装了我的生成器。运行发电机时抱怨我没有安装子发电机。

我的问题是我不想在全球范围内安装子发电机。我尝试将它用作依赖项/ peerDependency(如建议here),但它没有帮助。

有可能吗?

1 个答案:

答案 0 :(得分:1)

您需要在composeWith第三个参数中提供路径:

this.composeWith('generator:name', {}, {
    local: require.resolve('generator-foo/generators/name')
});

require.resolve通常是您最好的选择,但有些生成器(如generator-node)提供了主模块内的所有路径,因此您无需了解包结构。