그동안 CRA를 통해 리액트 프로젝트를 사용하다가, 조금 더 빠른 vite를 이용해 프로젝트를 만들기 시작하며 배우게 된 CRA에서의 env 및 proxy설정과 vite에서의 proxy설정을 비교 정리해봅니다.
.env
작성CRA에서는 루트경로에 .env
파일을 만들어 REACT_APP_SERVICE_KEY=xxx
과 같이 REACT_APP
으로 시작하게금 작성을 해주었다면 vite프로젝트의 경우 VITE_SERVICE_KEY
와 같이 VITE
로 시작하게 작성해주어야합니다.
CRA
REACT_APP_SERVICE_KEY=xxx
VITE
VITE_SERVICE_KEY=xxx
설정된 env를 CRA프로젝트에서는 process.env.REACT~
로 바로 가져와 사용했지만 vite프로젝트에서는 const { VITE_SERVICE_KEY } = import.meta.env
로 불러와 사용을 할 수 있습니다.
CRA
serviceKey: process.env.REACT_APP_SERVICE_KEY,
VITE
const { VITE_SERVICE_KEY } = import.meta.env
serviceKey: VITE_SERVICE_KEY,
CRA프로젝트에서는 package.json
에 명시해 사용을 했다면, vite프로젝트의 경우 vite.config.js
파일에 명시를 해줘야합니다.
CRA
package.json
...
},
"proxy": "https://apis.data.go.kr/",
}
VITE
vite.config.js
export default defineConfig({
plugins: [react()],
server: {
proxy: {
'/api': {
target: 'https://apis.data.go.kr',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''),
secure: false,
ws: true,
},
},
},
})
CRA
axios.get('B552584/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty')
VITE
axios.get('/api/B552584/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty')