有没有办法匹配NPM链接的项目GIT分支



说我有两个私人(不通过npm提供)项目:Projecta和ProjectB,都使用GIT作为存储库:

projecta:

  • 主要项目
  • JavaScript,ES6,JSX等。
  • 使用WebPack进行构建,缩小等
  • 用babel编译
  • 包括包装中的babel projectb repo/package.json

projectb:

  • JavaScript,ES6,A Projecta
  • 的依赖性
  • 用babel编译成ES5兼容JS

在我的本地环境上,这些项目使用npm link链接,并且在构建环境上链接了Projecta的GIT回购。

我想实现的目标:构建(babel/webpack)projecta时同步git分支,例如:当building projecta dev dev 分支机构to fet dev dev Projectb的分支。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</p>

作为package.json不能拥有任何其他名称,唯一想到的选项是外壳脚本(查找并替换Packageb中的ProjectB的分支名称。

但也许有更好的选择?

我用bash脚本解决了它:在执行Projecta之前:

sed -i -e "s/projectB.git.*/projectB.git#$BRANCH",/g" ./package.json

此将项目的B分支更改为$BRANCH,该分支目前拥有项目'A分支的值。

npm链接用于开发目的,因此您可以在对另一个模块进行测试时编写一个模块。例如,为Express编写插件。您只能暂时链接以进行此类工作。其余时间您应该使用实际的dependenciesdevDependencies

要锁定模块之间的版本依赖项,您应该使用Git中的软件包。这些可以使用特定的提交哈希或标签来定位。确保将SEMVER符号与您的标签一起使用,因为这是NPM期望的。

最新更新