Typescript 具有同等重要服务器端和客户端部分的项目的典型目录结构

Typescript 具有同等重要服务器端和客户端部分的项目的典型目录结构,typescript,git,asp.net-core,.net-core,Typescript,Git,Asp.net Core,.net Core,我们将发布一个开源库,其中包含一个用C#编写的服务器端部分(用于Web API、提取元数据、与数据库相关的操作等),以及一个用TypeScript编写的客户端部分,该部分负责UI 通常,我们的存储库有一个经典结构,如: 文档/-文档 示例/-一些示例项目 src/-库本身的源代码 测试/单元和集成测试 然而,现在我不确定如何组织这个Git存储库,因为所有这些部分(可能除了包含这两个部分的示例项目)对于客户端和服务器端都是完全不同的 所以,现在,我们来到了这样一个结构: 样品/ 客户/ 文

我们将发布一个开源库,其中包含一个用C#编写的服务器端部分(用于Web API、提取元数据、与数据库相关的操作等),以及一个用TypeScript编写的客户端部分,该部分负责UI

通常,我们的存储库有一个经典结构,如:

  • 文档/-文档
  • 示例/-一些示例项目
  • src/-库本身的源代码
  • 测试/单元和集成测试
然而,现在我不确定如何组织这个Git存储库,因为所有这些部分(可能除了包含这两个部分的示例项目)对于客户端和服务器端都是完全不同的

所以,现在,我们来到了这样一个结构:

  • 样品/
  • 客户/
    • 文件/
    • src/
    • 测验/
  • 服务器/
    • 文件/
    • src/
    • 测验/
然而,我仍然不太确定这个结构,我想听听社区的任何想法或建议

可能,最好在两个不同的存储库中创建它?但是,我们希望保留客户端和服务器端部分的统一版本控制,不希望在没有必要的情况下使事情复杂化。

您可以使用,以便
server
client
存在单独的报告,并在一个repo中将它们整理在一起,但对于服务器和客户端,您都引用了单独的repo。从文档中:

在这些场景中会出现一个常见的问题:您希望能够将两个项目视为单独的,但仍然能够在另一个项目中使用其中一个项目

您可以采用如下命名约定:

  • 项目/客户
  • 项目/服务器
  • 项目/项目

您建议的目录结构将得到维护,但代码将在多个回购中拆分。

建议使用
示例
文档
测试
作为顶级文件夹,并使用
客户端
服务器
子文件夹作为
src
。谢谢。我们以前听说过子模块,但也使用过它们。也许是时候仔细看看这个功能了。