node.js - Yeoman 生成器发布到 npm 后不包含子生成器

标签 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文件夹不包含容纳子生成器的“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/

相关文章:

javascript - 如何使用node js增加mongodb中的值

node.js - Sequelize where has NOT

node.js - 如何让我的 Express 应用程序在上传时尊重方向 EXIF 数据?

npm - 如何在 webpack 中使用快捷方式路径 "@"?

javascript - camaro@3.0.15 安装脚本失败

javascript - 如何在 yeoman 项目中重新安装 Grunt?

android - Mongoose 时间戳和纪元转换为 Date() 的问题

ubuntu - npm installsails 尝试在 1.7.5 版本安装 less

performance - 如何加速 Yeoman 的发球任务?

jquery - 由于生成器 ko 的 jQuery 错误,Gulp 失败了默认任务