前端工程化-AOP在Genebox小程序网络请求上的应用

Posted Songlcy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端工程化-AOP在Genebox小程序网络请求上的应用相关的知识,希望对你有一定的参考价值。

genebox-mini-request 是基于JS Decorator 和 Taro 实现的网络请求,使用TS实现,专注于实现对网络请求的使用优化。

背景

当前小程序端网络请求模块使用 request utils 统一处理,通过配置请求模块,动态生成 request task,并通过该实例发起请求。额外的 options 配置参数需要单独传入高阶函数,目前仅支持header,超时时长配置。

存在的问题:

    • 请求参数配置存在一定局限性,不易扩展
    • 请求模版的创建增加重复性代码
    • 请求模版配置与具体使用分离,维护查找不方便
    • 生成的请求方法不能跟踪定位到具体模版配置
    • 无法指定多个请求不同的 BASE URL
    • 请求模块代码耦合较重,扩展代码容易增加测试风险

优化方案

借鉴 android Retrofit 的架构实现思想,结合 Mobx,使用 AOP + Decoration 方式对整个请求流程进行优化。

优势:

    • 去除请求配置模块,避免重复代码
    • 分离请求功能,各模块之间职责单一,降低耦合度
    • 使用装饰器注入方式,将请求配置与业务逻辑分离,高度解耦
    • 扩展新功能,只需关注请求封装内部代码,无需关注具体业务逻辑
    • 通过可插拔的方式提供更多的功能可能性,提高可扩展性
    • 请求配置与具体的业务方法结合,

以上是关于前端工程化-AOP在Genebox小程序网络请求上的应用的主要内容,如果未能解决你的问题,请参考以下文章

前端工程化-Genebox小程序端Monorepo架构改造

前端工程化-Genebox小程序端Monorepo架构改造

前端工程化-Genebox小程序端Monorepo架构改造

前端工程化-Genebox小程序端Monorepo架构改造

前端工程化-Genebox小程序端Monorepo架构改造

前端工程化-Git SubModule在实际开发中的应用