STUDY/Trouble Shooting๐Ÿ”จ

[JavaScript] ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ API KEY ์ˆจ๊ธฐ๊ธฐ (.gitignore)

JUNGY00N 2023. 9. 5. 10:46

์ด๋ฒˆ์— ์Šคํ„ฐ๋””์—์„œ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋งค๋ฒˆ ๋ฆฌ์—‘ํŠธ๋ฅผ
์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ JS๋กœ๋งŒ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ์€๊ทผํžˆ ๊นŒ๋‹ค๋กญ๊ณ , JS ๊ณต๋ถ€์— ๋„์›€์ด ๋งŽ์ด ๋˜๊ณ  ์žˆ๋‹ค. (์–ผ๋งˆ๋‚˜ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜์กด์ ์ด์—ˆ๋Š”์ง€ ๋Š๋ผ๊ณ  ์žˆ๋‹ค.)

 

๋ฆฌ์—‘ํŠธ์—์„œ API KEY๊ฐ™์€ ์ •๋ณด๋ฅผ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์ˆจ๊ธธ ๋•Œ์— DOTENV๋ฅผ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

๊ทธ๋ž˜์„œ config.js ํŒŒ์ผ์— API_KEY ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  exportํ•œ ํ›„ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ณณ (api.js)์—์„œ importํ•œ ํ›„ gitignore์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

 

์ด ๋ฐฉ๋ฒ•์ด ์™„์ „ํžˆ ์˜ณ์€ ๋ฐฉ๋ฒ•์ธ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.
๋‚˜์ค‘์— ๋ฐฐํฌ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ฒŒ ๋  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ,
๋ฐฐํฌ ๋‹จ๊ณ„์—์„œ ํฌ์ŠคํŒ…์„ ์ˆ˜์ •ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

config.js ํŒŒ์ผ ์ƒ์„ฑ

โ–ผsrc/config.js

const config = {
  API_KEY: "your key",
};
export default config;

.gitignore ํŒŒ์ผ์— ์ถ”๊ฐ€

โ–ผ .gitignore

config.js

API_KEY importํ•ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ

โ–ผ src/api.js

import config from "./config.js";
const { API_KEY } = config;

...
/* ์•„๋ž˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ */
return request(
      `http://openapi.foodsafetykorea.go.kr/api/${API_KEY}/COOKRCP01/json/1/1001`
    );

...

์ฃผ์˜ํ•  ์ 

  • ํ•œ๋ฒˆ์ด๋ผ๋„ git์— ์˜ฌ๋ผ๊ฐ”๋˜ ํŒŒ์ผ์€ ๋‚˜์ค‘์— gitignore์— ์ถ”๊ฐ€ํ•˜๋”๋ผ๋„ ์ถ”์ ํ•˜๊ฒŒ ๋œ๋‹ค.
  • gitigonore์— ์ถ”๊ฐ€๋ฅผ ๋จผ์ €ํ•˜์ž