axios的封裝、代理轉發、數據mock
- 2020 年 4 月 2 日
- 筆記
引入下axios,然後對axios做下基本的封裝。然後就是mock數據的方式說一下,以及在項目中使用的mock方式。
1、axios封裝
-
axios
是什麼就不說了吧,你應該以及很熟了,就直接安裝吧。
$ npm install axios --save
- 然後我們簡單的在
src/utils/request.js
中簡單的進行了一下axios封裝。 - 對於環境的不同判斷,比如開發環境、灰度環境、線上環境等等在
@vue/cli3.x
中通過新建一個.env.[xxx]
的文件來維護–>環境變量和模式
2、數據mock
- 數據mock我們使用yapi這個接口平台來管理,這樣的話既可以很好的維護一封api文檔,又可以進行數據的mock,這是我們這個項目的的接口文檔:vue-mall
- 你也可以使用
mockjs
、esaymock
之類的,其實都差不多,yapi還是很好用的,一些基礎的用法文檔都有講,在項目中我用高級mock的比較多,反正都是寫js也可以用mockjs
的語法,還是挺方便的。
2、代理轉發
- 其實代理轉發就是配置下webpack的
devServer
,詳見webpack從0到1-devServer初探。 - 而在
vue-cli3.x
的腳手架生成了項目中,因為隱藏了webpack的配置文件,所以新建一個vue.config.js,然後在所提供的config配置文件修改下就行,原理還是一樣的。
const mockUrl = 'http://yapi.demo.qunar.com/mock/17982' module.exports = { // ... devServer: { port: 8080, open: true, overlay: { warnings: false, errors: true }, proxy: { '/dev-api': { target: mockUrl, pathRewrite: { '^/dev-api': '' }, secure: false, changeOrigin: true } } }, // ... }
3、小結
- 總而言之,
vue
的腳手架升級了以後,開發配置一個項目還是變得更簡單了。 - 歡迎大家圍觀項目中的一些實際的用法。
- 對於老版本的腳手架配置方式:https://www.jianshu.com/p/896f8127fe60