我创建了一个自耕农生成器 - generator-ngbp并将其发布到 npm。您可以通过
安装它npm install -g generator-ngbp
通过 npm 链接在本地工作时,一切运行良好,包括“模块”子生成器
yo ngbp:module "moduleName"
当我删除nodejs下链接的node_modules文件夹并按照上述方式从npm安装它时,generator-ngbp的node_modules文件夹不包含容纳子生成器的“module”文件夹,并且“module”子生成器不包含不工作。
有人能看出我做错了什么吗?和npm发布有关系吗?
最佳答案
好的,我找到了答案。显然,当我第一次生成生成器时,Yeoman 生成器-生成器在我的 package.json 中添加了一个"file"选项(有点拗口)。
看起来像这样......
"files":[
"app"
],
这会准确地告诉 npm 要包含哪些文件,这似乎有点愚蠢,因为它会导致您走向失败。如果您进一步遵循 Yeoman 官方教程并创建自己的子生成器,由于这个不幸的配置设置,它将不会被发布。
只需完全删除此 json 属性,当您“npm 发布”时,生成器中的所有文件都会发布到 npm(不过,您需要增加 package.json 中的“版本”才能再次发布)。
关于node.js - Yeoman 生成器发布到 npm 后不包含子生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22855656/