[๐Ÿ’ป ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  FE 44๊ธฐ]pre-project - 12์ผ์ฐจ

JiEunยท2023๋…„ 6์›” 26์ผ
0

โœ”๏ธ ์‹œ์ž‘

์ฃผ๋ง๊นŒ์ง€ ๊ธฐ๋Šฅ ์ž‘์—…ํ•˜๊ณ  ๋ฆฌํŒฉํ† ๋ง ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ๋‹ค.
์ด์ œ ๋ฐฐํฌ๋งŒ ๋‚จ์€ ์ƒํƒœ์ด๋‹ค...!


๐Ÿ“ ๋ฐฐํฌํ•˜๊ธฐ

git์œผ๋กœ ๋ฐฐํฌ ์‹œ๋„๋ฅผ ํ–ˆ์œผ๋‚˜ https๋ฌธ์ œ๋กœ ์‹คํŒจํ–ˆ๋‹ค.
vercel์œผ๋กœ๋„ ์‹œ๋„ํ•ด ๋ดค์ง€๋งŒ git๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์ธ https๋กœ ์‹คํŒจํ–ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‹ค netlify๋กœ ๋‹ค์‹œ ๋„์ „ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.
๋ฐฐํฌํ•˜๊ธฐ ์ „ proxy๋กœ ์‹œ๋„๋ฅผ ํ–ˆ์ง€๋งŒ ์ž˜ ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹คใ… ใ… 

๊ทธ๋Ÿฌ๋‹ค netlify๋กœ ๋ฐฐํฌ์‹œ proxy ์…‹ํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•ด ํ•ด๊ฒฐ ํ–ˆ๋‹ค.

๋ฐฐํฌํ•˜๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ๋ธ”๋กœ๊ทธ

netlify๋ฐฐํฌํ•˜๋Š” ๋ฒ• : https://heropy.blog/2018/01/10/netlify/
netlify๋ฐฐํฌ ์‹œ proxy ์„ค์ • :https://velog.io/@mochapoke/TIL-netlify๋กœ-๋ฐฐํฌ์‹œ-proxy-์…‹ํŒ…ํ•˜๋Š”-๋ฐฉ๋ฒ•

netlify.toml(๋ฃจํŠธ ๊ฒฝ๋กœ์— ์ƒ์„ฑ)

  • :splat๋Š” ๊ฒฝ๋กœ ๋’ค์— ๊ผญ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.
[[redirects]]
  from = "/proxy/*"
  to = "์„œ๋ฒ„ ๊ฒฝ๋กœ/:splat"
  status = 200
  force = true

// index.html๋กœ ๊ฐ€๊ธฐ ์œ„ํ•ด์„œ
[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200

vite.config

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
  server: {
    proxy: {
      "/questions": {
        target: "์„œ๋ฒ„ ๊ฒฝ๋กœ",
        changeOrigin: true,
        secure: false,
        rewrite: (path) => path.replace(/^\/api/, ""),
      }
    },
  },
})

question.jsx(proxy ํ•„์š”ํ•œ ํŽ˜์ด์ง€์—)

const PROXY = window.location.hostname === 'localhost' ? '' : '/proxy';
.
.
.
axios.post(
  `${PROXY}/questions/register`, requestData, { headers })
  .then(() => {
    //๊ธฐ์กด ์ฝ”๋“œ ์ž‘์„ฑ
  })
.
.
.
)

์ด๋ ‡๊ฒŒ ๋ฐฐํฌ๋ฅผ ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค...!ใ…Žใ…Ž

4~5์‹œ๊ฐ„ ๋งŒ์— ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋‚˜๋Š” ์ฐธ๊ณ  ์‚ฌ์ดํŠธ๋งŒ ์ œ๊ณตํ–ˆ๊ณ 
์ž‘์—…ํ•ด ์ฃผ์‹  ํŒ€์žฅ๋‹˜๊ป˜ ๊ฐ์‚ฌ๋ฅผ ํ‘œํ•œ๋‹ค....

์ž‘์„ฑํ•˜๋Š” ์ด์œ ๋Š” ๋‚˜์ค‘์— ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋‹ค.


โœ”๏ธ Keep

  • ํŒ€์žฅ๋‹˜์ด ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋‹ค๋ฅธ ํŒ€์›๋“ค์ด ๊ฐ™์ด ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ œ์‹œํ–ˆ๋‹ค.
  • ๋ฐฐํฌ ํ”Œ๋žซํผ์ด ์•ˆ๋˜๋ฉด ๋‹ค๋ฅธ๊ฑธ๋กœ ์‹œ๋„ํ•ด ๋ณด์•˜๋‹ค.
  • ์ค‘์š”ํ•œ๊ฑด ๊บฝ์—ฌ๋„ ๋‹ค์‹œ ์ผ์–ด๋‚˜๋Š” ๋งˆ์Œ...

โœ๏ธ Problem

  • ๋‚ด๊ฐ€ ๋งˆ์Œ์ด ๊ธ‰ํ•ด์„œ ๊ณต์ง€ ๊ธ€ ๋“ฑ์„ ์ œ๋Œ€๋กœ ์ฝ์ง€ ์•Š๊ณ  ํŒ๋‹จํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์–ด ์‹ค์ˆ˜๊ฐ€ ๋งŽ์•˜๋‹ค.
    - ๋˜ํ•œ ์ƒ๋Œ€๋ฐฉ์ด ๋ง์„ ๋‹ค ํ•˜์ง€๋„ ์•Š์•˜๋Š”๋ฐ ๋‚˜๋„ ๋ชจ๋ฅด๊ฒŒ ์–ผ๋ฅธ ๋งํ•ด์ฃผ๊ณ  ์‹ถ์–ด ๋งํ•˜๋ ค๊ณ ํ•˜๋Š”๊ฒŒ ๋ณด์˜€๋‹ค.

๐Ÿš€ Try

  • ์ƒ๋Œ€๋ฐฉ์ด ๋‹ค ๋ง ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. (์ •์  5์ดˆ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ)
  • ์ƒ๋Œ€๋ฐฉ์ด ์ž‘์„ฑํ•œ ๊ธ€์„ ๊ผผ๊ผผํžˆ ์ฝ์–ด ๋ณด๊ณ  ํŒ๋‹จํ•˜๊ธฐ (์ ์–ด๋„ 2๋ฒˆ ์ด์ƒ์„ ์ฝ์–ด๋ณด๊ธฐ)

โœ๏ธ ๋งˆ์น˜๋ฉฐ

ํ”„๋ฆฌ ํ”„๋กœ์ ํŠธ ๋งˆ๋ฌด๋ฆฌ๊นŒ์ง€ ํ•˜๋ฃจ ๋‚จ์€ ์ƒํ™ฉ์—์„œ
๋ฐฐํฌ๊นŒ์ง€ ์ž˜ ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ ๋‹น์ผ์—๋Š” ๋ฆฌ๋“œ๋ฏธ ์ž‘์„ฑ๊ณผ
๊ธฐ์ˆ  ํ…Œ์ŠคํŠธ๋ฅผ ์ฒดํฌํ•  ๊ฒƒ ๊ฐ™๋‹ค...ใ…Žใ…Ž

profile
๐Ÿ’ป ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ฑ์žฅ ์ค‘! (์•Œ์•„๋ดค๋˜ ๋‚ด์šฉ ๋“ฑ์„ ์ •๋ฆฌํ•˜๊ธฐ)

0๊ฐœ์˜ ๋Œ“๊ธ€