如何在大型项目中的前端和后端之间共享/管理 Typescript 类型

问题描述 投票:0回答:1

我有一个具有以下文件夹结构的 MERN 项目。

后端是一个express、mongo后端。具有以下结构。

frontend 是 3 个 vite React 项目的文件夹。每个都有以下文件夹结构

Parent Folder:
- backend
    - src
        - controllers 
        - middlewares
        - models
        - schemas
        - types
        - utils
        - app.ts
        - package.json
    - tsconfig.json
- frontend
    - client  (this is a vite app)
        - src
            - assets
            - components
            - hooks
            - pages
            - screens
            - types
        - index.html
        - package.json
        - tsconfig.json
    - master  ( this is also same as client)
    - manager (this is also same as client)

在此实现中,我在每个文件夹中创建了一个 Types 文件夹。

后端

前端/客户端

前端/主控

前端/经理

因此,每当有人对一件事的类型做出新的改变时。我必须在所有 4 个文件夹中更改它,以便它们相同。

我的问题是:

我想找到一种方法在父文件夹中全局声明类型,以便我能够在后端或我想要的 3 个前端中的任何位置使用它们。

我想要全局化的类型主要是数据库文档模式,它们在任何地方都被重用。

现在我管理类型的方式是定期手动复制和粘贴。如果类型频繁变化,这会导致很多问题。

有没有办法做得更好?

javascript typescript mern directory-structure
1个回答
0
投票

您可以使用单一存储库架构和工具来管理单个代码库。一个很好的例子是像 nx.dev 这样的用于处理 monorepos 的东西。

© www.soinside.com 2019 - 2024. All rights reserved.