NPM 是否支持通过 Git URL 将依赖项安装到存储库中的子文件夹?我检查了文档,看起来没有办法,但我无法明确告诉。
我知道确实如此,并且我知道如何设置 Git 存储库本身作为依赖项,如下所示:
但我想做的基本上是使用 monorepo 模式(如 Babel),所以我会有一个与此类似的文件夹结构:
然后就可以从同一个存储库安装它们,只需参考
packageA
、packageB
和 packageC
。
我知道另一种选择是让它们全部成为一个模块的一部分,然后像
package/packageA
一样导入它们,但其中一些在概念上并不是超级相关,所以这不太理想。它们位于同一个存储库中的唯一原因是我不希望 NPM 模块存储库聚集到我们的存储库中。
我知道这通常是通过私有 NPM 存储库完成的,但我们目前无法访问该存储库,因此希望有一种替代方案。
有什么想法吗?
看起来 https://gitpkg.now.sh/ 可能就是你想要的
查看它生成的链接,它似乎以某种方式充当您的包的代理,所以我不会在关键任务生产代码中使用它,但如果您尝试测试某些东西,它应该没问题在仓库之间工作
我想我会在这里添加我的解决方案,以防其他人可以从中受益。 此解决方案假设您对存储库拥有完全控制权,并且它是专门为托管您自己的 NPM 包而设计的。
NPM 支持针对存储库的特定分支。 为您希望托管的每个包创建一个新分支。
在 package.json 文件中,像这样定位分支包:
"packageA": "github:MyUserName/MyRepo.git#packageA",
"packageB": "github:MyUserName/MyRepo.git#packageB",
"packageC": "github:MyUserName/MyRepo.git#packageC",