axios 模組化管理介面

2021-09-29 03:31:40 字數 2210 閱讀 4346

// 在http.js檔案中,處理axios

import axios from 'axios'

// 引入qs模組,用來序列化post型別的資料

;// 環境的切換

// 我們的專案環境可能有開發環境、測試環境和生產環境。我們通過node的環境變數來匹配我們的預設的介面url字首。axios.defaults.baseurl可以設定axios的預設請求位址就不多說了。

axios.defaults.baseurl =

'aaa/aaa/'

; // 通過axios.defaults.timeout設定預設的請求超時時間。例如超過了10s,就會告知使用者當前請求超時,請重新整理等。

axios.defaults.timeout = 10000

// axios.defaults.headers.post[

'content-type']=

; withcredentials:true

// 請求***

axios.interceptors.request.use(

config =

>

// debugger

const token =

'abcdefg'

; token &&

(config.headers.authorization = token)

;return config;

}, error =

>

, // 響應***

response =

>

else

}, // 伺服器狀態碼不是2開頭的的情況

// 這裡可以跟你們的後台開發人員協商好統一的錯誤狀態碼

// 然後根據返回的狀態碼進行一些操作,例如登入過期提示,錯誤提示等等

// 下面列舉幾個常見的操作,其他需求可自行擴充套件

error =

>})

;break

; // 403 token過期

// 登入過期對使用者進行提示

// 清除本地token和清空vuex中token物件

// 跳轉登入頁面

case 403:

toast();

// 清除token

localstorage.removeitem(

'token');

store.commit(

'loginsuccess', null)

; // 跳轉登入頁面,並將要瀏覽的頁面fullpath傳過去,登入成功後跳轉需要訪問的頁面

settimeout(()=

>})

;}, 1000)

;break

; // 404請求不存在

case 404:

toast();

break

; // 其他錯誤,直接丟擲錯誤提示

default:

toast();

}return promise.reject(error.response);}

})export

function get(url, params)

).then(res =

> ).catch(err =

> )

});}

export function post(url, params)

) .catch(err =

>)}

);}

// api.js

// 用於統一管理我們的介面

Vue中模組化管理

vue對比我之前使用的angular,最大的改變是將乙個元件組合成乙個.vue檔案,讓目錄結構簡單了不少。下面我將.vue檔案稱為元件,js檔案稱為模組,記錄一下模組化管理的一些小細節 模組化管理就像自定義函式一樣,把一些東西單獨拎出來,讓根模組 入口檔案main.js 簡介一些 下面用三個例子說明...

ES6模組化管理

require module.exports common.js規範 amd cmd es6模組 模組 export import export 用於該模組向其他模組匯出的介面 import 用於接收其他模組匯入的值 模組指定預設輸出 export default export var a 100 ...

什麼是模組化?模組化的好處

1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...