1. 程式人生 > >實踐webpack+es6+react+redux+antd構建專案(三) 配置proxy代理

實踐webpack+es6+react+redux+antd構建專案(三) 配置proxy代理

上一篇是關於引入react,redux,antd的,專案已經可以正常運行了,但是拿到的都是定義的死資料。這篇文章講一下配置代理,調mock資料。

簡便起見,我使用的是Easy Mock,定義好mock資料,在專案中引入使用。

先說一下Easy Mock的使用方法,

建立一個專案,

建立好之後,進入剛才建立的這個專案

 建立介面

 並在左側新增資料

建立好之後,就是要在專案中使用了。

webpack.config.js中設定

devServer中新增

        // 配置easymock代理
        proxy: {
            "/api":{
                changeOrigin: true,
                target: "https://www.easy-mock.com/mock/5c24adb39a96a934e48de313"
            }
        }

上面寫法會找到 /api/的介面,然後代理到target的路徑上去

參考:https://www.webpackjs.com/configuration/dev-server/#devserver-proxy

request中使用的方法是fetch

介面請求

import request from '../../utils/request';

const listData = res => ({
    type: 'LIST_DATA',
    payload: res
});

export const getTodoList = (params, fn) => async (dispatch) => {
    try {
        const result = await request('/api/change/list', {
            method: 'GET',
            data: params
        });
        await dispatch(listData(result.data));
        fn();
    } catch (error) {

    }
}

/api是必須要有的,會匹配找到以/api開始的介面,代理到target的路徑上,訪問資料的路徑就是

https://www.easy-mock.com/mock/5c24adb39a96a934e48de313/api/change/list

基本都是可以拿到資料的,如果沒有拿到,不要慌,一般都是路徑上的問題,

request.js

export default async function request(url, options) {
    return requestDataProcess(url, options);
}
async function requestDataProcess(url, options) {
    if (/post/i.test(options.method)) {
        let { data } = options;
        let body = null;
        if (typeof data === 'string') {
            body = data;
        } else {
            body = JSON.stringify(data);
        }
        options.body = body;
        delete options.data;
    }
    let headers = {};
    headers['Content-Type'] = 'application/json';
    options.headers = headers;

    const result = await fetch(url, options).then(res => res.json());
    return result;
}

我使用的是比較簡單的代理,如果需要使用的複雜的,可以參考官網。

連結:實踐webpack+es6+react+redux+antd構建專案(一) webpack配置

           實踐webpack+es6+react+redux+antd構建專案(二) react,redux,antd引入

           

關注我獲取更多前端資源和經驗分享

關注後回覆    vivi     獲取我的微訊號,望不吝賜教,pps:可輕撩哈哈

感謝大佬們閱讀,希望大家頭髮濃密,睡眠良好,情緒穩定,早日實現財富自由~