【发布时间】:2021-03-10 16:40:48
【问题描述】:
我正在开发一个包含 Node.js、Express.js 和 TypeScript 后端 (REST API) 以及 React、Redux 和 TypeScript 前端的项目。
在后端我创建了一些类型,例如:
models/Product.ts
export type Product = {
title: string
description: string
price: number
}
因此 REST API 正在发送如下响应:
{
"data": [
{"title": "Shoe", "Description": "This is a shoe.", "price": 20},
{...}
] // inside here all the Products[]
}
在客户端上,我想将 data 转换为 Product 数组类型。但是由于前端和后端是不同的代码库并且是分开的,我还是想利用前端使用类型的优势。但我想在不重复代码的情况下实现这一点。所以我不想在修改或添加模型时更新2个地方。
有人知道在客户端和服务器之间共享类型的最佳方式是什么吗?
我正在考虑在后端创建一个端点之类的东西 客户端可以点击,然后它将所有模型写入一个文件中 例如客户端上的
models.ts。所以我认为我需要遍历后端/models/中的每个文件,然后将其解析为一个新文件,该文件作为models.ts写在客户端上。但这真的是一个好方法吗?有人知道实现这种结构的更好方法吗?
【问题讨论】:
标签: typescript server model client