我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Monorepo:如何使用另一个项目的包?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Monorepo:如何使用另一个项目的包?

本篇文章给大家分享《Monorepo:如何使用另一个项目的包?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我正在尝试用 Go 创建我的第一个 monorepo。项目结构如下:

如图所示,monoplay 文件夹是根文件夹。 pb 文件夹包含生成的 gRPC 代码 ,我想在 srv_boo/main.gosrv_foo/main.go 文件中使用它。

问题是,如何使用 srv_boo/main.gosrv_foo/main.go 文件中的 pb 文件夹中生成的 gRPC 代码 ? 文件夹结构是否正确?

还想单独部署服务。

也许 https://bazel.build/ 是解决方案?


正确答案


将整个存储库作为一个 go 模块将有助于解决此问题,即“Monoplay”根文件夹中只有一个 go.mod 文件。 然后服务可以使用“github.com/*/monoplay/pb/*”导入引用生成的 go 文件。
这也将集中整个存储库的依赖管理,因为只有一个 go.mod 文件(如果您需要的话)。

其他替代方案:
使用“go mod edit”: https://go.dev/ref/mod#go-mod-edit
或者,正如 DazWilkin 建议的那样,在原始文件中将“go_package”与“go-grpc_opt”和“go_opt”一起使用。

我使用单模块方法并推荐它。

如果存储库将包含大量代码并且构建所有内容(包括容器映像)很麻烦并且需要很长时间,那么请查看 bazel。

到这里,我们也就讲完了《Monorepo:如何使用另一个项目的包?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注编程网公众号,带你了解更多关于的知识点!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Monorepo:如何使用另一个项目的包?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Monorepo:如何使用另一个项目的包?

本篇文章给大家分享《Monorepo:如何使用另一个项目的包?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的
Monorepo:如何使用另一个项目的包?
2024-04-05

android studio如何打开另一个项目

要在Android Studio中打开另一个项目,可以按照以下步骤操作:1. 打开Android Studio。2. 在Android Studio的主界面上,点击菜单栏中的 "File"。3. 在 "File" 菜单中,选择 "Open"
2023-09-27

利用WebService从一个项目中去调用另一个项目中的资源

这篇文章主要介绍“利用WebService从一个项目中去调用另一个项目中的资源”,在日常操作中,相信很多人在利用WebService从一个项目中去调用另一个项目中的资源问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-06-02

java如何调用另一个包里的类

要调用另一个包里的类,需要按照以下步骤进行操作:1. 导入需要调用的类所在的包。使用`import`关键字来导入需要的包,例如:```javaimport com.example.packageName.ClassName;```这里的`c
2023-08-18

如何将Java项目从后台重定向到另一个项目

如何将Java项目从后台重定向到另一个项目?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。(1)通过ModelAndView跳转@RequestMapping("alipay
2023-05-31

如何使用 GitLab 的第一个项目

作为一个开源的版本控制系统,GitLab 为团队协作提供了完美的解决方案。它不仅可以支持代码管理,还能够在整个软件开发周期中进行多种协作功能,如问题跟踪、代码审查等。那么,这篇文章的主要目的是教你如何使用 GitLab 的第一个项目。以下是
2023-10-22

GitLab中如何将项目转移至另一个组织

在软件项目开发中,GitLab是一个非常流行的版本控制平台。它带来了许多便利和方便的功能,包括源代码托管、合并请求、CI/CD流水线等等。然而,在项目变更或组织结构调整中,有时候需要将GitLab中的项目转移至另一个组织。本文将介绍如何将G
2023-10-22

如何使用JavaScript创建一个简单的项目

JavaScript 是一种非常有用的编程语言,它被广泛应用于 web 开发、构建单页应用等领域。因此,了解如何使用 JavaScript 创建项目,是每个 web 开发者都需要掌握的基础技能。在本文中,我们将介绍如何使用 JavaScript 创建一个简单的项目。我们首先需要了解一些基础知识,然后再逐步构建我们的项目。1. 确定项目需求与目标在创建任何项目之前,我们需要先明确
2023-05-14

如何使用jenkins一键打包发布vue项目

这篇文章主要介绍如何使用jenkins一键打包发布vue项目,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!jenkins的安装Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
2023-06-15

如何使用vbs引用另一个vbs的代码

这篇文章主要介绍如何使用vbs引用另一个vbs的代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!第一个页面: