我正在构建一个使用另一个子生成器的生成器,使用composeWith。
我使用npm install -g generator-my-generator
安装了我的生成器。运行发电机时抱怨我没有安装子发电机。
我的问题是我不想在全球范围内安装子发电机。我尝试将它用作依赖项/ peerDependency(如建议here),但它没有帮助。
有可能吗?
答案 0 :(得分:1)
您需要在composeWith
第三个参数中提供路径:
this.composeWith('generator:name', {}, {
local: require.resolve('generator-foo/generators/name')
});
require.resolve
通常是您最好的选择,但有些生成器(如generator-node)提供了主模块内的所有路径,因此您无需了解包结构。