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

Ion*_*zău 70 git node.js npm

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

假设文件名是foo.json,我将其添加到.gitignore文件中foo.json.

这足以避免在NPM注册表上上传吗?

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

cmb*_*ley 117

文档:

使用.npmignore文件将东西从包中取出.如果没有.gitignore文件,但有一个.npmignore文件,然后将NPM忽略由相匹配的东西.npmignore文件.如果包含.npmignore文件排除的内容,可以创建一个空.gitignore文件来覆盖它.

简单来说,如果文件存在,npm会更喜欢.gitignore文件,但会回退到.gitignore文件中.因此,如果两者都存在,它将使用该.npmignore文件.

在许多情况下,Git和npm都可以忽略相同的文件,因此单独使用.npmignore文件是有意义的.如果有过的差异(即NPM和Git需要忽略不同的文件),那么你需要保持独立.gitignore.npmignore文件.

有关放入.gitignore文件内容的更多信息:我应该.我的测试吗?

  • 虽然可以说不清楚但确实如此; 如果有一个`.npmignore`文件,那么无论是否还有`.gitignore`文件,都会使用它. (6认同)
  • 听起来你需要一个`.npmignore`文件,其中包含与`.gitignore`相同的内容,但删除了`bin /`行. (3认同)

小智 13

对于任何阅读本文的人试图忽略git中的文件/目录但希望将其包含在npm发布中并尝试使用空.npmignore文件而没有运气.这有效.

在您的.gitignore文件中,添加您要排除的文件/目录**/build,例如,在您的.npmignore文件中,确保指定相同的文件/目录,但使用!前缀,因此对于构建示例,您将包括!**/build