我正在开发一个Node.js应用程序作为npm
模块。
为了能够运行此应用程序,我安装了所有npm
依赖项。因此,我的项目包含一些包含外部模块依赖关系构建的./node_module/
文件夹。
我使用git
维护我的项目,并使用GitHub存储库进行发布。
我不想在GitHub上发布npm
模块依赖项的所有本地构建。
我只想发布自己的代码。我的模块的用户应该使用npm install
来获取当前的构建依赖项。
保持依赖关系构建远离我的GitHub存储库的最佳方法是什么?
感谢您的回答(或评论)。 - 如果有任何不清楚的地方,请发表评论。
答案 0 :(得分:10)
在项目的根目录(上面的node_modules
)中,将以下行添加到.gitignore文件的末尾(如果需要,可以创建它):
node_modules
这将阻止将node_modules文件添加到GitHub存储库。
然后在同一目录中创建或打开package.json文件,并添加dependencies
部分,如下所示:
{
"dependencies": {
"module": "0.0.x",
...
}
}
通常,您需要使用0.0.x作为版本的格式。这可以确保您修复错误,但不会对依赖项进行破坏或重大更改,因此它们将与您的模块保持兼容。
每当安装模块时,package.json都会告诉npm安装dependencies
中列出的任何内容。你可以read more about package.json here。
这是整个过程的a great little overview。
答案 1 :(得分:0)
为了防止将模块添加到您的git存储库(以及因此添加到github),您可以将node_modules文件夹添加到.gitignore文件中。 (正如@Kato刚刚指出的那样)
但是,您可以考虑将模块保留在存储库中,以确保每个人都具有完全相同的版本。使用npm install可能会导致人们获得不同(更近期)的模块版本。
这是关于这个主题的好文章:http://www.futurealoof.com/posts/nodemodules-in-git.html