如何将.gitignore文件作为我的npm模块的一部分?

我正在构build一个npm模块,它将为某些软件项目生成特定的项目模板。 因此,当开发者安装我的npm模块并运行它时,我希望程序以某种方式创build文件和文件夹。

我希望在项目模板中包含一个这样的文件是一个.gitignore文件,因为软件项目将假设它将通过git进行跟踪。 但是,当我在模块上调用“npm install”时,npm会将所有.gitignore文件重命名为.npmignore文件。 我怎样才能确保我的.gitignore文件不会被npm篡改,当我分发我的模块?

https://github.com/npm/npm/issues/1862

看起来这是一个已知的问题。 底部的答案似乎是推荐的方法。 如果问题或链接被破坏:

对我们来说,我认为一个更好的解决方法是明确的文档,如果作者希望在他们的生成器中使用.gitignore,他们将需要命名他们的文件。## gitignore ##,这将是一个值gitignore设置为相同stringgitignore。

通过这种方式,将作为模板文件发布到npm的文件被调用。## gitignore ##并不会被npm捕获,但随后它将被stringreplace为.gitignore。

你可以看到多个提交处理npm问题1862 :

  • 这个项目增加了一个rename.json

     lib/init-template/rename.json { ".npmignore": ".gitignore", } 
  • 这个改名.gitignore

     templates/default/.gitignore → templates/default/{%=gitignore%} index.js @@ -114,6 +114,10 @@ generator._pkgData = function (pkg) { + // npm will rename .gitignore to .npmignore: + // [ref](https://github.com/npm/npm/issues/1862) + pkg.gitignore = '.gitignore';