티스토리 뷰
Proxy 설정
백엔드의 CORS를 피하기 위해 proxy를 설정해서 사용 한다.
참고: https://velog.io/@skyepodium/vue-proxy-사용하기
vue proxy 사용하기
vue cli 3.x 버전 이상에서 웹팩 개발서버를 이용해서 프록시 요청을 보내봅시다.
velog.io
- cors
교차 출처 리소스 공유 (CORS) - HTTP | MDN
교차 출처 리소스 공유 (CORS) - HTTP | MDN
교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라
developer.mozilla.org
.env 파일 생성
환경설정을 담당하는 .env파일을 생성 한다.
/.env
NODE_ENV=production
VUE_APP_SERVER=http://localhost:3000
vue에서 .env파일의 환경설정을 읽기 위해서는 반드시 VUE_APP_라는 접두사를 사용해야 한다.이는 process.env.VUE_APP_를 통해 추출할 수 있다.
주의 VUE_APP_SERVER에는 백엔드 서버의 값을 설정해야 한다.
환경변수 설정.
.env : 환경설정
백엔드 서버를 VUE_APP_SERVER =주소
이런식으로 불러옴.값이 추출된다.
vue.config.js 파일 생성
다음과 같이 vue.config.js파일을 생성 한다.
/vue.config.js
const { VUE_APP_SERVER } = process.env
//호출. .env에있는 뷰앱서버 '주소'
//모듈 익스포트한다
module.exports = {
devServer: {
proxy: {
'/serverApi': {
target: VUE_APP_SERVER,
changeOrigin: true,
pathRewrite: { //****정규식표현
'^/serverApi': '' //없애준다.
}
}
}
}
}
/serverApi라는 URL이 입력되면 pathRewrite에 의해 ''로 변경된다
.예) 입력 정보: /serverApi/users ⇒ 프록시 처리: <VUE_APP_SERVER>/users
⇒ 최종 호출: http://localhost:3000/users
주의!! vue.config.js파일의 프록시 처리는 개발PC에서만 동작한다.실제 도커를 통한 nginx에서는 /etc/nginx/conf.d/default.conf파일에서 프록시 처리를 해 주어야 한다.
예시
axios 에서 호출 방법
Store파일의 action에서 axios를 활용해 백엔드 서버를 호출할때 /serverApi를 작성하면 proxy를 통해 호출이 된다.
(예) /src/store/models/department.js
...
actions: {
// 부서 리스트 조회
actDepartmentList(context, payload) {
/* RestAPI 호출 */
api.get('/serverApi/departments').then(response => {
const departmentList = response && response.data
context.commit('setDepartmentList', departmentList)
})
}
}
...
호출 URL은 proxy에 의해 다음과 같이 변경 된다./serverApi/departments ⇒ http://localhost:3000/departments
'Web > Front - Vue' 카테고리의 다른 글
Vue_기본함수,기능 (0) | 2022.03.22 |
---|---|
Vue_router설정 (0) | 2022.03.22 |
Vue_create 오류 (0) | 2022.02.15 |
Vue_화면 분할 (0) | 2022.02.14 |
Vue_시작하기 (0) | 2022.02.14 |
- Total
- Today
- Yesterday
- node.js
- oculuspro
- MQTT
- 라즈베리파이
- imgtoimg
- google ai studio
- colab
- Express
- three.js
- ai image generator
- sequelize
- runwayai
- VR
- ai film
- krea
- AI
- TouchDesigner
- Java
- Python
- Arduino
- CNC
- Unity
- docker
- 후디니
- DeepLeaning
- 유니티
- RNN
- opencv
- houdini
- Midjourney
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |