honey_pot

[Node.js] dotenv๋ฅผ ์ด์šฉํ•ด ์•”ํ˜ธํ™”ํ•˜๊ธฐ ๋ณธ๋ฌธ

Node.js

[Node.js] dotenv๋ฅผ ์ด์šฉํ•ด ์•”ํ˜ธํ™”ํ•˜๊ธฐ

_tera_ 2021. 6. 18. 10:57

https://www.npmjs.com/package/dotenv


โœจ ์„ค์น˜ 

# with npm

npm install dotenv

# or with Yarn

yarn add dotenv

 

 

๐Ÿ”† ์‚ฌ์šฉ๋ฒ•

ES6
CommonJS module

app.js์— require('dotenv').config() ์ถ”๊ฐ€

โœ” ๊ฐ€์žฅ ๋จผ์ € ํ™˜๊ฒฝ์— import๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ๊ผญ ๋งจ์œ„์— ์จ์•ผํ•œ๋‹ค.

โœ” (.config()๋ฅผ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฏ€๋กœ ์•ž์— 'const sth =' ์„ ๋ถ™์—ฌ์ค„ ํ•„์š”๊ฐ€ ์—†๋‹ค.)

โœจ config๋Š” .env ํŒŒ์ผ์„ ์ฝ๊ณ  .env ๋‚ด์˜ content๋ฅผ ๋ถ„์„ํ•˜๊ณ  process.env ์— ๋Œ€์ž…ํ•œ๋‹ค.

 

.env ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ , NAME(๋Œ€๋ฌธ์ž) = Value ํ˜•ํƒœ๋กœ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

โœ” ์ด๋ฆ„=", ; ์—†์ด ๋”ฑ ๊ฐ’๋งŒ ์ ๋Š”๋‹ค.

โœ” ๋‘๊ฐœ ์ด์ƒ์„ ์ ์„ ๋•Œ์—๋„ ๋ฌธ์žฅ ๋์— , (์ฝค๋งˆ)๋ฅผ ์ ์ง€ ์•Š๋Š”๋‹ค.

 

์•”ํ˜ธํ™”ํ•  ๋ถ€๋ถ„์„ ๋‹ด๋Š” secret: '' ๋ถ€๋ถ„์— process.env.<<.env ํŒŒ์ผ์— ์ ์€ NAME>>๋ฅผ ์ ๋Š”๋‹ค.

 


.env๋ฅผ ,gitignore ์— ์ถ”๊ฐ€ํ•ด์„œ github ๋“ฑ ์˜คํ”ˆ๋œ ํ™˜๊ฒฝ์— ๋…ธ์ถœ๋˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.

Node.js ๋“ฑ .gitignore๋ฅผ ์ •๋ฆฌํ•ด ๋†“์€ ํŽ˜์ด์ง€ โžก https://github.com/github/gitignore/blob/master/Node.gitignore

dotenv ๋ถ€๋ถ„

 

 

๐Ÿ˜Ž๋‚œ ๊ทธ๋ƒฅ github์— ์žˆ๋Š” ๋‚ด์šฉ ๋‹ค ๋ถ™์—ฌ๋„ฃ์—ˆ๋‹ค ๐Ÿคธ‍โ™€๏ธ

๐Ÿ”†๐Ÿ”† github์—์„œ history๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ APIKEY๋‚˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์•”ํ˜ธ๋“ค์€ ์ฒ˜์Œ๋ถ€ํ„ฐ github์— ์˜ฌ๋ฆฌ์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค. heroku๋‚˜ mailchimp ๋“ฑ apikey๋กœ authentication์„ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ดํŠธ์—์„œ๋Š” github๋‚˜ ๋‹ค๋ฅธ ๊ณต๊ฐœ์‚ฌ์ดํŠธ์— ๋ณธ์ธ์˜ key๊ฐ€ ๋…ธ์ถœ๋  ๊ฒฝ์šฐ ๊ทธ key์˜ ์‚ฌ์šฉ์„ ์ค‘์ง€ํ•˜๊ณ  ์ƒˆ๋กœ์šด key๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์œผ๋ผ๋Š” ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์ค€๋‹ค.

Comments