公司里开发时接口管理用的是自己搭建的阿里的rap2,开发时由后端定义好接口,然后由前端根据rap2的数据,复制粘贴写接口。
去年九月份自己第一次独立负责一个小项目,使用这个平台,接口大概有四五十个,复制粘贴起名写注释,花了将近半个小时才把接口写好,其中还有接口因为疏忽把get请求写成了post。完成这项工作后,自己突发奇想,为啥不把这些接口数据弄回来进行解析然后用node生成到文件里呢?
接口文件的自动生成
说干就干,本来还准备用node写个爬虫的,发现其实数据都在一个接口里,这下就更方便了,花了几个小时时间终于完成了这个工作。将它写成了一个npm包,后来又把它写成了一个vue-cli插件,使用时调用插件,输入rap2上项目的id就会自动把接口都生成好。
生成之后就是这个样子的,这个工具在组内推广之后效果还不错,得到了大家的好评。
最近对这个工具进行了优化,生成接口时可以选择同时生成接口的引入方式,更新接口时会检测是否手动改过接口文件,最近准备也支持ts。
关于接口引入方式
大家一般都会将接口分模块编写,然后在使用接口时引入到vue组件中,这样在使用时,每个组件都要引入一个或者多个接口模块,十分繁琐。
看到很多组件等都会绑定到vue原型上,那把接口也都绑定到vue原型上,使用起来就会方便很多。所以我也写了一个vue-cli插件,会读取src/api目录下所有的文件,然后将文件中的接口数据使用axios转化成ajax请求。
使用时只需这样:
无需再进行引入,_api是写在vue原型上的,product是api目录下的一个文件名,也就是一个模块。
现在,新建项目后,我们无需再编写接口,也无需再引入,调用vue-cli插件生成,直接使用就可以了。