在前端项目中,我们经常会用到后端 API,因此需要和后端进行接口协调。在实际开发中,我们需要使用一些接口文档管理工具,如 postman,swagger 等来进行接口测试和文档管理。但是,在不同的后端服务中,接口定义的格式可能有所不同。
因此,有必要通过编写公共接口规范,来保证前后端的协作顺畅并保证接口的统一性。而 npm 包 interfacer 就为我们提供了一种规范的解决方案。
1. 简介
interfacer 是一个基于 JSON Schema 和 TypeScript 的实现,用于定义同构的接口规范。通过 Word 导出 JSON 编写的接口文档,转换成 TypeScript 或者 JavaScript 的代码,实现前端与后端的同构,从而提高接口协调的效率。
该项目的 github 地址:https://github.com/artifact-project/interfacer
2. 使用
2.1 安装
npm install -g @artifact-project/interfacer
2.2 创建接口定义
一个基本的接口定义示例:
-- -------------------- ---- ------- - ---------- ------------------------------------------ ------- --------- ----------------------- ------ ------------- - ----- - ------- --------- -- ------- - ------- -------- -- ------ - ------- --------- - -- ----------- - ----- ------ - -
这是一个 JSON Schema,interfacer 通过解析该 Schema 来生成 TypeScript 或者 JavaScript 的代码。
2.3 使用接口定义
2.3.1 TypeScript 中使用
import type { Person } from './person.interfacer'; const person: Person = { id: 1, name: 'Lily', }; console.log(person);
2.3.2 JavaScript 中使用
-- -------------------- ---- ------- ----- - ------ - - ---------------------------------------- ----- ------ - - --- - ----- ---------- -- ----- - ----- --------- -- -- ----- ------ - --------------- ----- ------ - --- -------- --- -- ----- ------- --- --------------------
3. 示例代码
更多示例代码请参考项目文档说明:https://github.com/artifact-project/interfacer/blob/master/doc/README-zh_CN.md
4. 总结
interfacer 是一个解决前后端接口规范化的方案,可以实现接口同构,降低沟通成本、提高开发效率。同时,也可以使得前端的代码更易于维护。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055afa81e8991b448d8a42