2014-07-27 59 views
7

我正在构建一个npm模块,它将为某些软件项目生成特定的项目模板。因此,当开发人员安装我的npm模块并运行它时,我希望程序以某种方式创建文件和文件夹。如何在我的npm模块中包含一个.gitignore文件?

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

回答

0

你可以看到多次提交处理npm issue 1862

  • this project adds a rename.json

    lib/init-template/rename.json 
    { 
        ".npmignore": ".gitignore", 
    } 
    
  • this one renames the .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'; 
    
+0

我没有删除这个2+岁的问题downvoted无理由,因为目前(2017)upvoted答案建议正是我在当时说明什么。 – VonC

1

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

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

对于我们来说,我认为更好的解决方案将是清晰的文档,如果作者希望在自己的发电机使用的.gitignore,他们将需要来命名他们的文件。 ## gitignore ##,这将是一个值gitignore设置为相同的字符串gitignore。

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

相关问题