Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Nodejs:多个项目工作流程大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设你有这个设置:


      PROjeCT1
        package.json {“version”:“0.0.1”}
      项目2
        package.json {“version”:“0.0.1”,
                        “dependencies”:{“project1”:“^ 0.0.1”]}
      主要
        package.json(“dependencies”:{“project1”:“^ 0.0.1”}

Project1,project2,projectXxxx ……和main必须一起改变.它们可能一直都在变化(如果不依赖于project1,project2等,几乎不可能在main中实现任何东西……这不是很少更改库的场景.)

你如何避免这两个陷阱:

>您可以在本地使用’npm link’.但是,每个开发人员必须以正确的顺序在所有项目中手动调用’npm link’.
新开发人员(或刚签出新开发分支的人)的工作流程是:

> cd main
> npm安装
>因为缺少project2而得到错误
> npm link ../project2
>因为缺少project1而得到错误
> cd ../project2
> npm link ../project1
> npm安装
> cd main
> npm安装

让它超过两个项目,这是疯狂的.

>或者您可以使用“预安装”脚本为您执行’npm链接'(如许多其他SO问题中所述),但实际上,您不能,因为文档告诉您不要使用预安装脚本:https://www.npmjs.org/doc/scripts.html

>或者,每次更改内容时,您都可以将每个模块发布到私有存储库.工作流程(据我所知):

>在project1中编辑文件
>凹凸版
> npm发布project1
>回到project2
> npm安装
>编辑
> npm发布project1
>回到主要
> npm安装
>编辑
>意识到你犯了一个错误并重新开始.疯狂也是.

如您所见,这些都不可接受.

那么你会改变什么来获得合理的工作流程?

你把所有东西放在同一个项目中吗? (遗憾的是,在我的情况下这是不可接受的,因为其他地方的其他项目也需要project1.)

我错过了’npm xxxxx’命令吗?

谢谢

解决方法

听起来通常是轻微的麻烦正在成为您的主要问题,因为您的项目设计没有实现足够宽松的耦合.从根本上说,我认为你有一种代码味道,在某种形式或其他主要方面,project1和project2实际上仍然是一个单一的应用程序,应该是一个单独的模块,或者project1没有被正确抽象,所以它可以拆分并由MAIN2.继续重构它,在某些时候你会有一个灯泡时刻,并找到一个更清洁的组织.

但是,与此同时,我确实有一个建议,应该有所帮助.当我处于类似的情况时,我们将所有帮助程序模块作为单独的项目保存在它们自己的私有github存储库中,当一个新的开发人员克隆main时,我们有一个sHell脚本来设置以下结构,其关键是node_modules是一个高于正常的目录:

ROOT
  main
  project1
  project2
  node_modules
    project1 (symlink to ../project1)
    project2 {symlink to ../project2)

这允许两种开发模式:

> cd main&& npm install将使您进入正常模式并将正常安装兄弟项目在ROOT / main / node_modules / project1中

>当主要在main上工作时使用它
>在提交对main / package.json的更新之前进行最终测试时也使用它

> cd main&& rm -rf node_modules / project [12]将使您进入同步开发模式

>当main中的代码需要(“project1”)时,它将从本地ROOT / node_modules / project1符号链接中找到它,您可以快速编辑任何项目中代码.无需修改版本号,推送提交或npm安装任何东西来测试更改.
>完成后,cd main&& npm install让你恢复正常模式

由于使用了符号链接,这在Windows,FYI上可能无法正常工作.

您可以在main中编写一个sHell脚本,开发人员可以在第一次克隆主仓库时运行该脚本以设置此结构.

大佬总结

以上是大佬教程为你收集整理的node.js – Nodejs:多个项目工作流程全部内容,希望文章能够帮你解决node.js – Nodejs:多个项目工作流程所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。