项目代码结构
项目目录结构
为了更清楚整个项目的流程,在此处我们介绍整个项目的 src 源码目录下的文件结构:
js
|-public
|-config.json // 远程配置文件,会自动拷贝到dist产物目录下
|-tools
|-dom // dom操作工具函数
|-xhr // xhr原生发出请求相关函数
|-url // url处理相关函数
|-lang // javascript语言增强辅助函数
|-stub
|-main.js // 桩代码主逻辑
|-logic
|-index.js // 主流程
|-rulesManager
|-index.js
|-hookManager
|-index.js // hook主逻辑(完成对xhr/fetch/open等api的hook)
|-fetBlockXHR.js // 对原生XHR的class封装
|-tunnels
|-index.js // 对外统一tunnel调用入口
|-jsbridge // jsbridge通道相关api能力
|-other // 其他通道相关api能力
接下来,我们会针对主要核心文件进行代码级解析。