多模块应用程序的最佳目录和存储库结构是什么?

时间:2018-08-15 11:26:07

标签: module version-control directory-structure

应用程序通常是多模块的。典型的情况是后端和前端上的分区。

此类项目的最佳目录结构是什么?

这样后端和前端应该在单独的目录中吗?

.
├── backend
│   └── src
│       └── main
├── frontend
│   ├── css
│   ├── html
│   ├── js
│   └── index.html
├── .git
└── .gitignore

或者对于更多模块:

.
├── module.one
│   └── src
│       ├── main
│       │   └── module
│       │       └── one
│       │           └── One.py
│       └── test
│           └── module
│               └── one
├── module.three
│   └── src
│       ├── main
│       │   └── module
│       │       ├── three
│       │       └── Three.py
│       └── test
│           └── module
│               └── three
└── module.two
    └── src
        ├── main
        │   └── module
        │       └── two
        │           └── Two.py
        └── test
            └── module
                └── two

可以吗?

VCS怎么样?

模块应该是单独的git模块还是单独的git存储库?还是只有一个既包含后端又包含前端的存储库?

项目管理工具?

如果我使用项目管理工具,那么他们应该管理所有模块,还是应该为每个模块使用单独的配置?当然,这取决于我使用的技术,所以让我们考虑一些场景。

  1. 使用Java构建的后端,由mvn管理,前端由npm管理。我可以使用mvn多模块选项(see example of that)管理后端和前端。两次管理前端(使用mvnnpm)真的有意义吗?
  2. 使用Node.js构建的后端,也由npm管理,前端也由npm管理。从超级目录管理后端和前端是否有意义?
  3. CMAKE管理的数十个模块。我想我们需要使用单独的git模块通过一种配置来管理所有一切,以免发疯?

0 个答案:

没有答案