[Vue] CORS 에러 vue.config.js로 해결

쿼카쿼카·2022년 10월 31일
0

Vue / Nuxt

목록 보기
11/35
post-custom-banner

CORS(Cross-Origin Resource Sharing)

  • 프론트에서 백에 데이터 요청 시 프론트와 백의 origin(url)이 달라 발생하는 충돌

해결 방법

back/api-sever.js

const express = require('express')
const app = express()
// 현재 back의 port는 3000
const port = 3000

// 'http://localhost:3000/api/account'에 데이터 저장
app.get('/api/account', (req, res) => {
  res.send({
    mid: 3,
    memberName: '홍길동'
  })
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

front/App.vue

<script>
import {reactive} from 'vue'
import axios from 'axios'

export default {
  setup() {
    const state = reactive({
      account: {
        mid: null,
        memberName: ''
      }
    })

	// http://localhost:3000/api/account로 하면 오류 발생
    axios.get('/api/account').then(res => {
      state.account = res.data
    })

    return {state}
  }
}
</script>

front/vue.config.js

module.exports = {
  devServer: {
    proxy: {
      "/api": {
        target: "http://localhost:3000"
      }
    }
  }
}
profile
쿼카에요
post-custom-banner

0개의 댓글