.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.jsonthat 中设置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 脚本,这些脚本使用标准库以独立于平台的方式执行相同的 cpcatrm 等效项。

以上是关于.npmignore 扩展/继承自 .gitignore的主要内容,如果未能解决你的问题,请参考以下文章

.npmignore 不忽略文件

我应该 .npmignore 我的测试吗?

如何使用 .npmignore 排除文件夹/文件?

继承自 int 的 Cython 扩展类型导致 MemoryError

我们可以用自定义函数扩展现有的类吗? (无继承)

WPF自定义控件の扩展控件