14

npm非常擅长支持发布到全局/中央存储库的包npm,这对于私有应用程序代码来说效果不佳。 npm还支持将 git repo 添加为依赖项,这使您可以拥有私有依赖项。

问题是,据我所知,最佳实践是,我的npm包往往非常紧凑和小,而我的 git repos 往往更大,并且将包含几个npm包。在指向 github URL 时,我不知道有什么方法可以达到这种粒度。如何解决这个问题?

更新

我接受了“不要这样做,保持正常”的答案。我同意这个建议,但是 YMMV。

4

2 回答 2

13

我建议一个包含多个包的 repo 是一个坏主意,有几个原因。您应该将包视为它自己的实体:独立构建、测试和部署。话虽如此,每个包都应该存在于自己的仓库中。

话虽这么说,我绝对理解能够做npm install <package-group>一个“通用”包的好处,并让它一次性抓住你需要的所有包。我建议查看grunt-contrib 模型来完成此任务。简而言之,他们有一堆 grunt-contrib- 包(例如 grunt-contrib-coffee),每个包都存在于自己的存储库中。然后他们创建一个单独的存储库来定义父“grunt-contrib”包。这个父包所做的就是指定所有子包的依赖关系。这允许你做一个npm install grunt-contrib-coffee(例如)并得到 grunt-contrib-coffee 包;或者您可以npm install grunt-contrib一次性完成并获得他们的整个套件。

希望这可以帮助!

于 2013-05-15T18:03:27.727 回答
1

您还可以设置自己的本地 npm 存储库。

于 2013-04-30T18:55:03.933 回答