171.a6b69067.js 1.9 KB

1
  1. (window.webpackJsonp=window.webpackJsonp||[]).push([[171],{497:function(t,e,s){"use strict";s.r(e);var a=s(3),r=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"需求分析"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#需求分析"}},[t._v("#")]),t._v(" 需求分析")]),t._v(" "),e("p",[t._v("接下来的章节,我们会使用 TypeScript 来重构 axios,重构之前,我们需要简单地做一些需求分析,看一下我们这次重构需要支持哪些 feature。")]),t._v(" "),e("h2",{attrs:{id:"features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),e("ul",[e("li",[t._v("在浏览器端使用 XMLHttpRequest 对象通讯")]),t._v(" "),e("li",[t._v("支持 Promise API")]),t._v(" "),e("li",[t._v("支持请求和响应的拦截器")]),t._v(" "),e("li",[t._v("支持请求数据和响应数据的转换")]),t._v(" "),e("li",[t._v("支持请求的取消")]),t._v(" "),e("li",[t._v("JSON 数据的自动转换")]),t._v(" "),e("li",[t._v("客户端防止 XSRF")])]),t._v(" "),e("p",[t._v("此外,我们还会支持一些 axios 库支持的一些其它的 feature。这里要注意的,我们这次重构不包括 axios 在 Node 中的实现,因为这部分我们在平时项目中应用的很少,还涉及到很多 Node.js 的知识,如果都讲的话,一是比较占用时间,另一个可能会喧宾夺主了。当然,这部分知识点我会根据同学们学习的反馈,如果大家很感兴趣想学习的话,我就作为课程的补充内容加到后期视频的扩展中,也当做课程的福利送给大家,所以大家务必要支持一下正版课程喔~")]),t._v(" "),e("p",[t._v("那么接下来我们就开始初始化项目吧!")])])}),[],!1,null,null,null);e.default=r.exports}}]);