반응형

create-react-app 프로젝트에 Proxy 설정

모듈 설치

yarn add axios
yarn add --dev http-proxy-middleware

setupProxy.js

  • 경로 : <프로젝트>/src/setupProxy.js

  • v0.x.x

    const proxy = require('http-proxy-middleware');
    
    // 요청 : /api/**
    // 실제 : http://localhost:8080/api/**
    const apiUrl = 'http://localhost:8080';
    const apiContext = ['/api'];
    
    module.exports = (app) => {
        app.use(
            proxy(apiContext, {
                target: apiUrl,
                changeOrigin: true,
            })
        );
    };
    
  • v1.x.x

    const { createProxyMiddleware } = require("http-proxy-middleware");
    
    module.exports = (app) => {
      app.use(
        "/api",
        createProxyMiddleware({
          target: "http://localhost:8080",
          changeOrigin: true,
        })
      );
      app.use(
        "/ws-stomp",
        createProxyMiddleware({ target: "http://localhost:8080", ws: true })
      );
    };
    

axios 요청

import axios from 'axios';

// IE에서 axios 통신 결과 캐싱되는 현상 방지
axios.defaults.headers.common = {
    Pragma: 'no-cache'
};

axios.get('/api/get').then((response) => {
    console.log(response);
});

Storybook에 Proxy 적용

middleware.js

  • 경로 : <프로젝트>/.storybook/middleware.js
const setupProxy = require('../src/setupProxy.js');

module.exports = setupProxy;

참고

반응형

'Development > React' 카테고리의 다른 글

[React] Setting  (0) 2019.09.08
[React] ETC  (0) 2019.08.29
[React] material-ui  (0) 2019.05.28
[React] styled-components  (0) 2019.05.28
[React] i18next  (2) 2019.05.24

+ Recent posts