Yeoman生成器在发布到npm之后不包括子生成器

我创build了一个yeoman generator – generator-ngbp并将其发布到npm。 你可以通过安装它

npm install -g generator-ngbp 

当通过npm链接本地工作时,一切运行良好,包括“模块”子生成器

 yo ngbp:module "moduleName" 

当我删除nodejs下的链接的node_modules文件夹,并按照上面npm所述的方式安装它时,generator-ngbp的node_modules文件夹不包含“module”文件夹,它包含子生成器,“module”子生成器不起作用。

任何人都可以看到我做错了什么? 这与npm发布有关吗?

好的,我find了答案。 显然,当我第一次生成我的生成器(这是一口)的时候,Yeoman生成器生成器为我的package.json添加了一个“files”选项。

看起来像这样

 "files":[ "app" ], 

这告诉npm究竟哪些文件包含在内,这似乎有点愚蠢,因为它导致你失败​​的path。 如果你进一步遵循Yeoman官方教程并创build你自己的子生成器,由于这个不幸的configuration设置,它将不会被发布。

只要完全删除这个json属性,当你“npm发布”(你需要在package.json中增加你的“版本”以便再次发布),你的生成器中的所有文件都会被发布到npm。