请教一下大家,前端项目,如果不同分支的代码依赖的 npm 包版本不一样,怎样方便地在切换分支后,让各分支使用各自相应的 npm 包?
难道每次切换分支后,都要重新安装一遍依赖吗?
|  |      1Chemist      2020-11-22 03:16:54 +08:00 via iPhone 你不会把 node_modules 加到版本控制了吧? 如果没有的话两个分支的依赖都装就好了。 除非有用到同一个包但不同版本,那就蛋疼了。 | 
|  |      2yyfearth      2020-11-22 03:28:15 +08:00 @kyuuseiryuu 现在前端 node_modules 加 git 里可不太好 太大了 webpack babel react/vue/angular 什么的 一大堆 可以上 G 而且每次 npm install 相当多文件会变化 除非你 npm install 一次之后再也不动 这当然已经不可能了 | 
|  |      4yyfearth      2020-11-22 03:30:06 +08:00 @kyuuseiryuu LZ 说的就是同样的包版本不一样 这个太常见了 | 
|  |      5luob      2020-11-22 03:59:38 +08:00 一个简单的方法: 新分支正常使用,给老分支全局替换一个 alias npm i my-package-1@npm:[email protected] - import MyPackage from "my-package" + import MyPackage from "my-package-1" | 
|  |      7seki      2020-11-22 05:01:10 +08:00 当然是每次再安装一遍了 如果想要做得自动化一点的话,可以用 husky 这样的加 git hooks,感觉 post-checkout 和 post-merge 应该就满足了 | 
|  |      8Rheinmetal      2020-11-22 07:37:01 +08:00 yarn2 的 plug and play 可以提交依赖 然而支持的包不是很多 也没有适配脚手架 | 
|  |      9shenyu1996      2020-11-22 09:02:37 +08:00 via Android 分俩文件夹  当成两个项目维护 | 
|  |      10yangtze      2020-11-22 09:06:17 +08:00 via iPhone  1 git worktree 了解一下,专门应对多分支同时开发的场景 | 
|  |      11crysislinux      2020-11-22 09:53:50 +08:00 via Android 有时候是会有这种情况,比如升级主体框架,但同时又在之前版本基础上修 bug 。切了就要 install 蛮不爽的,我选择直接 copy 一份单独开发。 | 
|  |      12fhsan      2020-11-22 10:09:40 +08:00 我选择 nvm use + zsh | 
|  |      141OF7G      2020-11-22 10:38:35 +08:00 如果分支比较固定的情况,可以使用 git worktree 。 | 
|  |      15lin07hui      2020-11-22 10:54:47 +08:00 @shenyu1996 +1 | 
|  |      16cwliang      2020-11-22 12:14:38 +08:00 yarn 重新装一遍,个别包版本不一样,也就两秒种的事 | 
|  |      17pkuphy OP PRO @shenyu1996  > 分俩文件夹 当成两个项目维护 我之前就采用这样的方式,想着或许社区有更优雅的解决办法。 --- 切换分支后重新安装,有时候一些祖传 npm 包不小心升级后 API 发生变化,会带来很多让人头疼的麻烦。 | 
|  |      19KuroNekoFan      2020-11-22 21:17:13 +08:00 是的,重新安装一遍,反正很快 | 
|  |      20lifesimple      2021-07-21 16:03:43 +08:00 我也遇到这个问题,不过我觉得可以安装多个版本的同一个包 用别名区分 |