.npmignore 扩展/继承自 .gitignore
Posted
技术标签:
【中文标题】.npmignore 扩展/继承自 .gitignore【英文标题】:.npmignore extending / inheriting from .gitignore 【发布时间】:2017-11-08 01:10:29 【问题描述】:我知道我不能同时使用它们,但是有没有办法让.npmignore
文件扩展.gitignore
?我在.gitignore
中有几十条规则,我想全部使用它们 + 一个用于 npm 包的附加规则。如何在不重复所有规则的情况下做到这一点?
【问题讨论】:
【参考方案1】:common-ignore(npm 包)看起来很有希望。
【讨论】:
【参考方案2】:我不相信有任何机制可以做到这一点,但编写脚本应该很简单!以下是我将如何解决这个问题:
在您的package.json
that 中设置prepack
npm 脚本:
-
将您的
.gitignore
文件复制到.npmignore
复制完成后将扩展规则添加到.npmignore
文件。我建议在某个文件中定义这些额外的规则,在下面的示例中,为了清楚起见,我们将其命名为 extra_rules_file
。
然后,可选的 postpack
脚本删除你的 .npmignore
现在你不需要它(并且可能不想提交它,因为它是一个生成的文件)
例如:
package.json
"scripts":
"prepack": "cp .gitignore .npmignore && cat extra_rules_file >> .npmignore",
"postpack": "rm .npmignore"
extra_rules_file
whatever/rules/you/want/**/*
【讨论】:
是的,这将是一些解决方案,我给了它一个点。但同时,将开发者的环境限制为 Unix 的缺点对于这么小的东西来说太大了。 是的,这个答案会将您限制在 Unix 或 Windows 上的 git bash 之类的东西上。但是,您可以在此处仅引用 node.js 脚本,这些脚本使用标准库以独立于平台的方式执行相同的cp
、cat
和 rm
等效项。以上是关于.npmignore 扩展/继承自 .gitignore的主要内容,如果未能解决你的问题,请参考以下文章