對於前端同學來說,請求後端介面是一個非常通用的東西。在十幾年前的時候,我們還用 Ajax 去請求後端介面。但在 2023 年的今天,很多框架都很成熟了,我們有了更加快捷的方式 —— Axios 框架。
對於使用 Vue 技術棧的同學來說,其實介面請求框架就三種:vue-resource、Axios、fetch。對於 vue-resource 和 Axios 來說,它們都是用於在 vue.js 應用中進行 HTTP 請求的工具,但它們有一些區別,下面是一些主要的區別和如何選擇的考慮因素:
維護狀態:
功能和特性:
API 設計:
支援度:
基於以上考慮,一般而言,推薦使用 Axios,因為它更靈活、功能更強大,並且得到了更廣泛的社群支援。 如果你的專案已經在使用 Vue-resource,可能需要考慮遷移到 Axios 或其他更為主流的HTTP庫。如果專案較小或是初學者,Vue-resource 也可以滿足基本需求。
使用 Axios 非常簡單,首先需要執行如下程式碼來安裝 Axios 依賴。
npm install axios
隨後,我們就可以直接使用 Axios 了,如下程式碼所示。
import axios from "axios";
axios
.get("/api/data/winTogether/service")
.then(response => {
console.log("request..");
this.service = response.data.service;
})
.catch(error => {
console.log("fail....");
});
如上程式碼所示,直接引入 axios,隨後使用 axios 物件的 get 方法便可發起一個請求。
很多時候,我們沒有對應的後臺介面,這時候我們需要自己 Mock 資料,那麼我們可以使用 Mock.js 來模擬返回資料。
使用 Mock.js 也很簡單,首先安裝對應的依賴。
npm install mockjs
隨後,我們引入 Mock 物件,並使用 mock() 方法便可模擬返回特定資料,如下程式碼所示。
import Mock from "mockjs";
// 注意這裡的 url 需要與請求的介面保持一致
Mock.mock("/api/data/winTogether/service", {
service: [
{
subtitle: "xxxx網格站加盟",
desc: "通過自有或租賃的倉庫進行分揀商品"
}
]
});
當你呼叫介面比較多的時候,你會發覺 Axios 的使用很繁瑣,有很多重複的操作。這時候,我們可以對 Axios 進行二次封裝,從而來提高我們的開發效率。關於 Axios 的二次開發,網上有很多資料,我自己也找了一些比較不錯的,感興趣的可以看看參考資料部分。