发布到npm后,Yeoman生成器不包含子生成器

时间:2014-04-04 06:55:05

标签: node.js npm yeoman yeoman-generator

我创建了一个自动生成器 - generator-ngbp并将其发布到npm。您可以通过

安装它
npm install -g generator-ngbp

通过npm链接在本地工作时,一切运行良好,包括"模块"子发生器

yo ngbp:module "moduleName"

当我删除nodejs下的链接的node_modules文件夹并从npm如上所述安装它时,generator-ngbp的node_modules文件夹不包含"模块"文件夹,包含子发电机,以及"模块"子发电机不起作用。

谁能看到我做错了什么?它与npm发布有关吗?

1 个答案:

答案 0 :(得分:13)

好的,我找到了答案。显然,Yeoman发电机 - 发电机增加了一个"文件"我第一次生成我的生成器时我的package.json的选项(那是一个满口)。

看起来像这样......

"files":[
    "app"
],

这告诉npm确切地包含哪些文件,这看起来有点愚蠢,因为它会引导你走向失败之路。如果你进一步遵循官方的Yeoman教程并创建自己的子生成器,由于这个不幸的配置设置,它将不会被发布。

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