😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[Nest JS 둜 CRUD κ²Œμ‹œνŒ λ§Œλ“€κΈ°] (35) μ„€μ • (Configuration) λ³Έλ¬Έ

πŸ‘©‍πŸ’» λ°±μ—”λ“œ(Back-End)/Nest js

[Nest JS 둜 CRUD κ²Œμ‹œνŒ λ§Œλ“€κΈ°] (35) μ„€μ • (Configuration)

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 6. 10. 23:34
728x90
λ°˜μ‘ν˜•

<λ³Έ λΈ”λ‘œκ·ΈλŠ” John Ahn μ˜ 유튜브λ₯Ό μ°Έκ³ ν•΄μ„œ κ³΅λΆ€ν•˜λ©° μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€ :-)>

=> λ”°λΌν•˜λ©΄μ„œ λ°°μš°λŠ” NestJS

 

🧸 μ„€μ • (Configuration)

runtime 도쀑에 λ°”λ€ŒλŠ” 것이 μ•„λ‹Œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹œμž‘ν•  λ•Œ λ‘œλ“œκ°€ λ˜μ–΄ κ·Έ 값듀을 μ •μ˜

μ„€μ • νŒŒμΌμ€ μ—¬λŸ¬κ°€μ§€ 파일 ν˜•μ‹μ„ μ‚¬μš© (XML, JSON, YAML, Environmant, Varaiables)

 

🧸 Codebase VS Environment Variables (ν™˜κ²½λ³€μˆ˜)

 XML, JSON, YAML : Codebase μ— ν•΄λ‹Ή & ν™˜κ²½ λ³€μˆ˜

=> λ‚˜λˆ„λŠ” 이유 : λΉ„λ°€λ²ˆν˜Έμ™€ API KEY 같은 λ‚¨λ“€μ—κ²Œ λ…ΈμΆœλ˜λ©΄ μ•ˆλ˜λŠ” 정보λ₯Ό 주둜 ν™˜κ²½ λ³€μˆ˜λ‘œ 처리

 

πŸŽ€ Codebase 

: 일반적으둜 Port 처럼 λ…ΈμΆœλ˜λ„ 상관 μ—†λŠ” 정보듀

 

πŸŽ€ Environment Variables (ν™˜κ²½λ³€μˆ˜)

: λΉ„λ°€λ²ˆν˜Έ, API 처럼 λ…ΈμΈ¨λ˜λ©΄ μ•ˆλ˜λŠ” 정보듀

 

🧸 μ„€μ •ν•˜κΈ° μœ„ν•΄μ„œ ν•„μš”ν•œ λͺ¨λ“ˆ

// μœˆλ„μš°
npm install -g win-node-env

// λ§₯
npm install config --save

 

🧸 Config λͺ¨λ“ˆμ„ μ΄μš©ν•œ μ„€μ • 파일 생성

1) 루트 디렉토리에 config 폴더 λ§Œλ“  ν›„ JSON, YAML ν˜•μ‹μ˜ 파일 생성

2) config 폴더 μ•ˆμ— default.yml, development.yml, production.yml 파일 생성

default.yml : κΈ°λ³Έ μ„€μ • (개발 ν™˜κ²½ μ„€μ •μ΄λ‚˜ 운영 ν™˜κ²½ 섀정에도 적용됨)

development.yml : default.yml μ—μ„œ μ„€μ •ν•œ 것 + 개발 ν™˜κ²½μ—μ„œ ν•„μš”ν•œ 정보

production.yml : default.yml μ—μ„œ μ„€μ •ν•œ 것 + 운영 ν™˜κ²½μ—μ„œ ν•„μš”ν•œ 정보 

728x90
λ°˜μ‘ν˜•
Comments