【问题标题】:How to share typescript types between nestjs backend and react frontend?如何在 nestjs 后端和前端之间共享打字稿类型?
【发布时间】:2022-11-20 17:30:28
【问题描述】:

假设我的 nestjs 后端有一个 /createPost POST 端点。请求和响应对象应该通过 DTO 在后端完全键入。但是,如何将这些类型带入前端?我想要一个类型化的帖子请求对象,所以我不能在帖子正文中输入无效字段或缺少字段。我还想有一个用于响应的打字稿接口。我想重用后端的代码。最好的方法是什么?是否有某种类型生成器库?

【问题讨论】:

    标签: reactjs rest nestjs


    【解决方案1】:

    也许你可以使用 nx workspace https://nx.dev/ 创建一个 monorepo。 有了它,您可以在所有应用程序之间共享模型。

    【讨论】:

      【解决方案2】:

      你可以使用 graphql,它可以与 front 共享类型

      【讨论】:

        【解决方案3】:

        您可以尝试的另一件事是创建一个Github 包你安装(可以是私人的并且是免费的而不是在 NPM 上这样做)。

        在 Github 组织上发布包后要记住的事情:

        1. 在项目的根文件夹中添加一个 .npmrc 文件并写入以下内容:

          @your-organization-name:registry=https://npm.pkg.github.com registry=https://registry.npmjs.org

        2. 请记住,您需要 npm 登录才能像这样工作:

          npm login --registry=https://npm.pkg.github.com

          用户名:你的github用户名

          密码是您从 Github -> 设置 -> 开发人员设置中创建的 token。

          我知道我没有在这里为您完整描述如何将包发布到 Github 的流程,但总体思路应该很清楚。

          祝你好运!

        【讨论】:

          猜你喜欢
          • 2016-07-31
          • 2021-10-28
          • 1970-01-01
          • 1970-01-01
          • 2021-03-08
          • 1970-01-01
          • 1970-01-01
          • 2020-03-13
          • 2021-11-18
          相关资源
          最近更新 更多