๊ฒ์ ๋ก์ง์ ์ธ ๋ถ๋ถ์ ๊ฒฝ์ฐ .env ํ์ผ์ ์ฌ์ฉํด์ผ ํ ์ผ์ด ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฑ์๋์์ URL์ด ๋ฐ๋๋ค๊ฑฐ๋ ์์ฒญ Interface๊ฐ ๋ฌ๋ผ์ง๋ค๊ฑฐ๋ ํ ์ด์ ๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ .env ํ์ผ์ ์ฌ์ฉํ์ง ์์๋ค. ๊ทธ๋ฌ๋ค๊ฐ ๊ฒ์ ๋ก๋น, ๋ง์ดํ์ด์ง ๋ฑ์ ๊ฐ๋ฐํ๋ฉด์ ๋ฐฑ์๋ Interface๊ฐ ๋ฐ๋๊ฑฐ๋ ์์ฒญ ์ฃผ์๊ฐ ๋ฌ๋ผ์ง๋ ๋ฑ ์ด๋ฅผ ์์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์ฆ์์ ธ .env ํ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ ๋ซ๊ฒ ๋ค ์๊ฐ์ด ๋ค์ด ์ ์ฉํ์๋ค.
๐ ๋ถ๋ช ํ .env์์ ์ ๊ฐ์ ธ์๋๋ฐ, undefined?
...
const BASE_URL = process.env.NEXT_PUBLIC_BASE_URL;
export const fetchRooms = async () => {
const data = await fetchWithAuth(`${BASE_URL}/games`);
return data;
};
...
์ ์ฝ๋์ฒ๋ผ .env ํ์ผ์ ์ ๊ฐ์ ธ์๋ค. ๊ทธ๋ฐ๋ฐ, BASE_URL์ด undefined๋ก ๋์๋ค.
1๏ธโฃ ์๋ - BASE_URL ์๋ฆฌ์ .env์์ ํ ๋นํ URL์ ํ๋ ์ฝ๋ฉํ์ฌ fetchWithAuth() ๋ฉ์จ๋์์ undefined๋ก ๋ฐ๊พธ์ด ๋ฒ๋ฆฌ๋ ๊ฒ์ธ์ง ํ์ธํ๊ธฐ
...
// const BASE_URL = process.env.NEXT_PUBLIC_BASE_URL;
export const fetchRooms = async () => {
const data = await fetchWithAuth("https://api.~~~.shop/games");
return data;
};
...
์ด๋ ๊ฒ ๋ฐ๊พธ์ด๋ณด๋ ์๋ง์ ์ฃผ์๋ก ์ ์ฐ๊ฒฐ๋์๋ค..
2๏ธโฃ ์๋ - process.env.NEXT_PUBLIC_BASE_URL ์ด ์๋ํ์ง ์์ผ๋ฉด, .env์์ URL์ ๊ฐ์ ธ์ฌ ์ ์์ผ๋ .env ๊ฐ์ ธ์ค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นํ๊ธฐ
dotenv ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ๋ฌ ํ๊ฒฝ์ ๋ฐ๋ผ ํ๊ฒฝ ๋ณ์๊ฐ ๋ฌ๋ผ์ง ๋ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ๋๋ ํ ํ๊ฒฝ์ ๋ํ ํ๊ฒฝ ๋ณ์๋ฅผ ๊ฐ์ ธ์๋ฌ๋ผ๊ณ ํ๋ ๊ฒ์ด๋ ์ ๋๊ฒ ์ง ํ๋ ์์ผํ ์๊ฐ์ผ๋ก dotenv๋ฅผ ์ค์นํ์๋ค.
next.config.mjs ํ์ผ๋ ์์ ํ๊ณ , ๋ค์ ์ปดํ์ผํ์์ผ๋ ์คํจ!
3๏ธโฃ '์ ์ ๋์ง?' ๊ณ ๋ฏผํ๋ค๊ฐ ์ฐ์ฐํ ๋ฐ๊ฒฌ..
'env ๋ฌธ์ ๋ง ํด๊ฒฐํ๊ณ ๊ธฐ์์ฌ๋ก ๊ฐ์ผ๊ฒ ๋ค' ์๊ฐํ๊ณ ์๋ฆฌ์ ์์๋ง์ ํ์ผ ํธ๋ฆฌ๊ฐ ๋ณด์๋ค. '.env.local'๋ง ๋ก๊ณ ๊ฐ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ๋ ค ๋ณด์๋๋ฐ, src ํด๋ ๋ด์ ์์นํ๊ณ ์์๋ ๊ฒ์ด๋ค. ํ์ผ ํธ๋ฆฌ ๋ฐ์ผ๋ก .env ํ์ผ์ ๋นผ์ฃผ๋ ๋น์ฐํ๊ฒ๋ ์ ์์ ์ผ๋ก ์ฝ์ด์ ธ ์๋ค(dotenv๋ ํ์ ์์๋ค).
์ด์ฒ๊ตฌ๋์๋ ์์ธ์ด์๊ณ , ๊ทธ ๋๊ตฌ๋ ํ์ง ์์ ์ค์ ๊ฐ์ง๋ง ๋ธ๋ก๊ทธ์ ์์ฑํ๋ ์ด์ ๋ ๊ธฐ์ตํ๊ธฐ ์ํด์!
- .env ํ์ผ์ ํ๋ก์ ํธ ์ด๊ธฐ์ ์์ฑํ๋ฉฐ ์ ์จ๋ ๋ ๊ฒ ๊ฐ๋ค๊ณ ๋ฐฉ์นํ์ ๋, ๊ทธ๋ ์ฌ๋ฐ๋ฅธ ์์น์ ๋ฃ์ด๋์ด์ผ ํ๋ค.๐ ์ด์ ์ด๋ค ํ์ผ์ด๋ , ์ฝ๋๋ ๊ฐ๋ณ๊ฒ ์๊ฐํ๊ณ ๋์ด๊ฐ์ง ๋ง์. ๋์ค์ ๋ ๋ง์ ์๊ฐ์ ์๊ฒ ๋ ์๋ ์๋ค..
- ๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋๋ฐ ๊ด๋ จ ๊ฒฝํ์ ๋ ๋ง์ด ํ๊ณ , ์ค๋ ฅ์ ๋ ๋ง์ด ๊ฐ๊ณ ๋ฆ์์ผ ํ๋ค. ์ ๊ทน์ ์ผ๋ก ํด๋ด์!
๋๋ง๋ฌด ์ต์ข ๋ฐํ ํ์ ๋๋ง๋ฌด ๋ ํฌ๋ฅผ ๋ค์ ๋ณผ ์ผ์ด ์์ ์๋ ์๋ค. ๋๋ง๋ฌด ํ๋ ์๊ฐ์ผ ๋์ธ ์ง๊ธ, ๋ ๋ง์ด ๋ค์ฌ๋ค๋ณด์. ๊ฐ ๊ธธ์ด ๋ฉ๋ค.
๋ด์ผ๋ ๋น ์ดํ .
์ต์ข ๋ฐํ D-8