前端开发
在 farrow-vite-react 项目模板中,已经包含了简单的示例代码,现在让我们来解读一下前端部分。
在运行 npm run dev 命令启动应用之后,应该可以看到文件 src/api/greet.ts,里面的代码大概如下:
正如开头的注释部分所说的,这个文件是由 farrow-api 自动生成的,一般情况下不应该被手动修改。
farrow-api 会将服务端的 input schema 和 output schema 编译为 typescript 类型,并将 api service 编译为 http-client 的接口调用代码。
也就是说,前端相当于继承了服务端的类型定义和方法调用的代码。
在 src/app.tsx 文件中,我们可以像 import 普通模块一样,import 服务端生成的 greet.ts 文件。
通过 api as GreetApi 起别名,我们可以引入多个生成的 client.ts,避免命名冲突。
然后,我们可以像调用普通方法一样,调用 GreetApi.greet(input),它在内部会通过 http 协议请求服务端接口,获取并返回指定类型的数据。
不需要开发者 as MyType 的方式去主动标记。
每当服务端新增接口时,farrow 都会检测到变化,并重新生成最新的类型定义和接口调用的代码。
前端开发过程中,可以及时地看到服务端提供的类型是否与之前版本的兼容,减少前后端类型不同步导致 runtime 报错的情况。
接下来,我们尝试在服务端开发一个包含增删改查的 todo service。