axios非常方便,但是如果在每个组件中走一遍axios流程,最终又会写出“意大利面条”式的代码。况且很多时候在前端需要设置header,统一添加token,对异常进行处理等,所以最好对其进行封装。结合axios,能够很好的进行封装。
最近项目中,前端遇到获取数据时来自各种不同的项目组,其中有一个提供空间数据的小组为了保证数据的安全性。需要在请求数据前先用规定用户名和密码请求一个token。然后将这个token当必传参数去请求空间数据。为方便同事的使用即封装了一个公共的请求方法。
1 | //cudeAxios.js |
上面既然用到的export default导出对象。就顺便记录一下
JavaScript中AMD和ES6模块的导入导出对比。import,export,export default属于ES6规范。import命令具有提升效果,会提升到整个模块的头部,首先执行。import是解构过程(是在编译阶段执行的)
1 | //output.js |
require,exports,module.exports属于AMD规范。
require是运行时调用.require是赋值过程.
在最后写一个调用这个公共axios的例子。
1 | import cubeAxios from "@/assets/axios/cudeAxios"; |