honey_pot
[Node.js] dotenv๋ฅผ ์ด์ฉํด ์ํธํํ๊ธฐ ๋ณธ๋ฌธ
https://www.npmjs.com/package/dotenv
โจ ์ค์น
# with npm
npm install dotenv
# or with Yarn
yarn add dotenv
๐ ์ฌ์ฉ๋ฒ
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
๐๋ ๊ทธ๋ฅ github์ ์๋ ๋ด์ฉ ๋ค ๋ถ์ฌ๋ฃ์๋ค ๐คธโ๏ธ
๐๐ github์์ history๋ฅผ ํ์ธํ ์ ์์ผ๋ฏ๋ก APIKEY๋ ๋ค๋ฅธ ์ค์ํ ์ํธ๋ค์ ์ฒ์๋ถํฐ github์ ์ฌ๋ฆฌ์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค. heroku๋ mailchimp ๋ฑ apikey๋ก authentication์ ์ ๊ณตํ๋ ์ฌ์ดํธ์์๋ github๋ ๋ค๋ฅธ ๊ณต๊ฐ์ฌ์ดํธ์ ๋ณธ์ธ์ key๊ฐ ๋ ธ์ถ๋ ๊ฒฝ์ฐ ๊ทธ key์ ์ฌ์ฉ์ ์ค์งํ๊ณ ์๋ก์ด key๋ฅผ ๋ฐ๊ธ๋ฐ์ผ๋ผ๋ ์ด๋ฉ์ผ์ ๋ณด๋ด์ค๋ค.