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

13 浏览
0 Comments

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

我有一个由npm install命令生成的文件(使用preinstall任务)。我不想将它添加到git仓库中,也不想将它添加到NPM项目中。\n假设文件名是foo.json,我在.gitignore文件中将它添加为foo.json。\n这样就足够避免将其上传到NPM注册表吗?\n我知道我可以添加.npmignore文件来确保忽略该文件,但如果.gitignore已经做到了这一点,我就不会添加它。

0
0 Comments

在使用npm发布时,有些文件或文件夹我们希望在git中忽略,但是在npm发布时又希望包含它们。如果尝试使用空的.npmignore文件却没有成功,可以按照以下方法解决。

首先在.gitignore文件中,添加你希望排除的文件或文件夹,例如**/build。然后在.npmignore文件中,确保你使用相同的文件或文件夹,但是在前面加上感叹号!。对于build示例,你需要包含!**/build。

这样做的原因是,npm在发布时会忽略.gitignore中指定的文件,但会忽略.npmignore中没有指定的文件。因此,通过在.npmignore中使用!前缀,可以确保指定的文件或文件夹在npm发布时被包含进去。

希望这个解决方法能够帮助到你!

0
0 Comments

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

在一个项目中,如果同时存在.npmignore和.gitignore文件,npm只会使用.npmignore文件。根据文档,使用.npmignore文件来排除一些内容。如果没有.npmignore文件,但有一个.gitignore文件,那么npm将会忽略.gitignore文件中匹配的内容。如果你想要包含被.gitignore文件排除的内容,可以创建一个空的.npmignore文件来覆盖它。

简单来说,npm更喜欢使用.npmignore文件,但会退而求其次使用.gitignore文件。在许多情况下,Git和npm都可以忽略相同的文件,所以只使用.gitignore文件是有意义的。如果需要让npm和Git忽略不同的文件,那么就需要维护独立的.gitignore和.npmignore文件。

关于在.npmignore文件中放置什么内容的更多信息:Should I .npmignore my tests?

还有一个类似但略有不同的情况,我有一个.gitignore文件,排除了一个bin/目录,其中存放着我的转译后的ES6应用程序,这样我就可以推送lib/目录中的ES6编写的应用程序。但是,正如你所想象的那样,问题是在npm中发布的包必须包含bin/目录。

听起来你需要一个包含与.gitignore相同内容的.npmignore文件,但是要删除掉bin/行。

我想要完全相反的效果。我希望npm添加一个文件夹,尽管它在.gitignore中存在。

第二句话回答了这个问题:“如果你想要包含被.gitignore文件排除的内容,你可以创建一个空的.npmignore文件来覆盖它。”在你的情况下,你需要将.gitignore复制到.npmignore,并且只从.npmignore中删除文件夹。

0