最近學習reactjs ,前些年用rn開發過移動端,入門還算輕鬆。現在打算使用 antd pro 實現前後端分離。要使用antd pro這個腳手架,必須熟悉 umi、dva、redux-saga 等相關知識。
基礎知識及目錄結構可以先看官方文件 :
官方介紹:
ant design pro 是乙個企業級中後台前端/設計解決方案,我們秉承 [ant design]( 的設計價值觀,致力於在設計規範和基礎元件的基礎上,繼續向上構建,提煉出典型模板/業務元件/配套設計資源,進一步提公升企業級中後台產品設計研發過程中的『使用者』和『設計者』的體驗。
2. 網路請求庫新增鉤子
鉤子的目的主要是對請求頭設定(如:新增 token,api服務端通過token鑑權,當然您的token格式也可以是jwt,我這裡是自己加密後的字串)和對請求返回的資料實現攔截過濾特殊處理。
antd pro 使用的是 umi-request.js 這個庫,其實也是基於 fetch 封裝 。 一開始用axios替換了request.js裡面。後來發現umi-request 也很容新增鉤子,這裡在umi-request上新增。
新增攔截鉤子:
src\utils\request.js 調整後**
/*3. 許可權及登入調整前後臺整理中,後在寫。。。。。* * request 網路請求工具 */
import from 'umi-request';
import from 'antd';
import router from 'umi/router';
const codemessage =;/**
* 異常處理程式 */
const errorhandler = error => } =error;
const errortext = codemessage[response.status] ||response.statustext;
const =response;
if (status === 401) );
//@hack
/*eslint-disable no-underscore-dangle
*/ type: 'login/logout',
});return
; }
notification.error(: $`,
description: errortext,
});//
environment should not be used
if (status === 403)
if (status <= 504 && status >= 500)
if (status >= 404 && status < 422)
};/*
* * 配置request請求時的預設引數 */
const request =extend();
request.interceptors.request.use(async (url, options) =>;
if(token)
return
( ,});
})request.interceptors.response.use((response, options) =>
return
response;
});export
default request;
前後端分離
關於前後端分離的一些好的文章推薦 前端框架 為什麼前後端分離 最直白的理解,我認為是因為在開發過程中,前端總是需要等待後端的環境搭建好之後,前端才能獲取相關資料,對於前端的開發影響很大,事實上前端並不關心後端的開發,那麼有沒有方法不讓後端影響前端的開發呢?其實後端提供的是什麼?乙個執行伺服器,乙個就...
前後端分離
在此說明 前後端分離有利於後端的快速開發,但並不利於搜尋引擎優化 seo 上圖能清晰的看到,使用前後端分離模式進行開發,瀏覽器會向伺服器傳送請求,伺服器會向瀏覽器傳送乙個類似框架的html,是固定的空殼,此時瀏覽器再使用ajax請求向後端伺服器索要資料,後端伺服器返回json字串給瀏覽器,從而使瀏覽...
前後端分離
前後端分離的好處 1 徹底解放前端 2 提高工作效率,分工更加明確。3 區域性效能提公升 4 降低維護成本 2 前後端分離的概念 後台只需要提供api介面,前端呼叫ajax實現資料呈現 3 場景和要求 4 web前端路由 就是根據url分配到對應的處理程式,原理和路由器原理相同,不同的請求位址會交給...