NPM忽略.gitignore中列出的文件吗?

我有一个由npm install命令生成的文件(使用preinstall任务)。 我不想把它添加到git仓库中,也不在NPM项目中。

假设文件名是foo.json ,我将它作为foo.json添加到.gitignore文件中。

这是否足以避免上传到NPMregistry?

我知道我可以添加.npmignore文件,肯定会忽略该文件,但我不会添加它,如果.gitignore已经这样做。

从文档 :

使用一个.npmignore文件来保存你的包里的东西。 如果没有.npmignore文件,但有一个.gitignore文件,那么npm会忽略.gitignore文件匹配的东西。 如果您想要包含由.gitignore文件排除的内容,则可以创build一个空的.npmignore文件来覆盖它。

简单来说,如果.npmignore文件在那里,npm会更喜欢 .npmignore文件,但会回退到.gitignore文件。 所以如果两者都存在,它将使用.npmignore文件。

在许多情况下,Git和npm都可以忽略相同的文件,所以只使用.gitignore文件是有意义的。 如果有任何差异(例如,您希望npm跟踪而不是Git,反之亦然),那么您需要同时维护.gitignore.npmignore文件。

有关在.npmignore文件中放置什么的更多信息: 我应该.npmignore我的testing?

对于任何读这个试图忽略git的文件/目录,但希望将其纳入npm发布,并试图使用空的.npmignore文件没有运气。 这工作。

在你的.gitignore文件中,添加你想排除的文件/目录**/build例如在你的.npmignore文件中,确保你指定了相同的文件/目录但是用! 前缀,所以对于包含!**/build的构build示例