typescript运行时应用初探:设计一个基于类型声明的前端请求层框架

本文探讨如何设计和实现一个基于TypeScript的前端请求层框架,强调中间件架构的请求层runtime和接口声明的重要性。通过自定义webpack-loader,将TypeScript类型信息带入运行时,实现接口调用的智能提示和数据验证,提升开发效率。
摘要由CSDN通过智能技术生成

请求层框架是什么?

其实 axios 就可以看成一个请求层框架,只不过它将关注焦点放在了 ajax request 上,更多时候大家把它当成一个库。

那么这里的”框架“指的是什么呢?一般来说,实际项目中发ajax请求,不仅仅是发出去这么简单,一方面数据需要 transform、polyfill 等一系列操作,另一方面请求发出去的过程中可能需要触发一些副作用,比如打点统计等等,最后,在跨端场景下,最终把请求发出去的backend,可能有多种。比如在electron项目中,假设我们使用UDP协议发送请求,但是为了支持外网向内网推数据,又没有打洞服务的情况,我们需要在某个版本中支持外网 TCP server -> 内网 TCP client 的模式。

通过一个图,大家就可以理解为什么请求层值得被称为一个框架:

这么一看功能还不少对吧?而且是典型的中间件模式(绿色的全是中间件),说是框架不过分吧?

如何实现一个请求层框架?

实现这样一个框架,我们主要要解决两个问题:

  • 设计一个中间件架构的请求层runtime。
  • 定义接口声明的流程和语法。

请求层runtime

为什么说 axios 本身就可以看成一个请求层框架呢?因为它支持 tra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值