๐ ๋ค์ด๊ฐ๋ฉฐ
์ต๊ทผ์ ์๋ฒ ํ๋ก์ ํธ๋ฅผ ๋ช ๊ฐ ์์ํ๋ฉด์ ์๋ฒ ๊ตฌ์ถ์ ์ฒ์๋ถํฐ ๋ค๋ค๋ณด๊ณ ์ ๊ธ์ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค.
์ด ๊ธ์์๋ ๊ฐ๋จํ express ํ๋ก์ ํธ ์์ฑํ๋ ๋ฒ์ ๋ค๋ฃจ๊ณ , ๋ค์ ๊ธ์์๋ Express ๊ตฌ์กฐ ๋ฏ์ด๋ณด๊ธฐ,
๊ทธ ์ดํ์๋ firebase functions๋ฅผ ์ด์ฉํ ์๋ฒ ํ๋ก์ ํธ ๋ฐ ์์ฃผ ์ฌ์ฉํ๋ ํด๋๋ง ๊ตฌ์กฐ๋ฅผ ๊ณต์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐
๐ ์ฌ์ ์ค๋น
1. Nodejs ์ค์น
์ ์, Nodejs๋?
Node.js๋ Chrome V8 Javascript ์์ง์ผ๋ก ๋น๋๋ Javascript ๋ฐํ์ ์ ๋๋ค
์ฝ๊ฒ ๋งํด์, javascript๋ก ์์ฑํ ์ฝ๋๋ก ์๋ฒ๋ฅผ ์คํ์ํค๊ธฐ ์ํ ๋๊ตฌ๋ค~ ๋ผ๊ณ ์๊ณ ๊ณ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํด๋น ๋งํฌ๋ก ๋ค์ด๊ฐ์ LTS ๋ฒ์ ๋ค์ด๋ก๋ ํฉ๋๋ค.
์ค์น ํ ํฐ๋ฏธ๋์์
$ node -v
$ npm -v
๋ ๊ฐ์ง์ ๋ช ๋ น์ด๊ฐ ์คํ๋๋ค๋ฉด, ์ ์์ ์ผ๋ก ์ค์น ๋ ๊ฒ!
2. VS Code ์ค์น
https://code.visualstudio.com/
ํด๋น ํํ์ด์ง์์ ๋ณธ์ธ์ OS์ ๋ง๊ฒ ๋ค์ด๋ก๋ ํฉ๋๋ค.
3. Express ์ค์น
Express๋...?
Node๋ฅผ ์ํ ๋น ๋ฅด๊ณ ๊ฐ๊ฒฐํ ์๋ฒ ํ๋ ์์ํฌ๋ก
HTTP ์์ฒญ์ ๋ํด ๋ผ์ฐํ ๋ฐ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
$ sudo npm install express-g
* sudo ๋ช ๋ น์ด๋ max, linux ํ๊ฒฝ์์๋ง ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค !!
-g ์ต์ ์ ์ฃผ์ด ์ ์ญ ์ค์น๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒฝ๋ก์์ ์ค์น๋ฅผ ํ๋ ์๊ด ์์ต๋๋ค.
๐ ํ๋ก์ ํธ ์์ฑ
1. VSCode ์คํ
2. Terminal์ ์ฌ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์์น๋ก ์ด๋
VSCode๋ฅผ ์คํํ๋ค๋ฉด mac ๊ธฐ์ค ^(control) + ` ๋ก ํฐ๋ฏธ๋ ์ฐฝ์ ์ด์ด์ค๋๋ค.
๋ง์ฝ, ์ด๋ฆฌ์ง ์๋๋ค๋ฉด ํน์ ํ์ฌ ์ธ์ด๊ฐ ์์ด๊ฐ ๋ง๋์ง ํ์ธํด์ฃผ์ธ์!
(์์ด `๊ฐ ํ๊ธ๋ก ํ๋ฉด โฉ๋ก ํ์๋ ๊ฒ๋๋ค!)
ํฐ๋ฏธ๋์์ ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋๋ค.
$ npm install -g express-generator
-g๋ --global ์ต์ ์ ์ค์๋ง๋ก ์ ์ญ ์ค์น ์ต์ ์ด๋ฉฐ express-generator๋ express ํ๋ก์ ํธ ์์ฑ๊ธฐ์ ๋๋ค.
์ค์น๊ฐ ๋ ๊ฒ์ ํด๋์์ ๋ณด๊ณ ์ถ๋ค! ํ์๋ ๋ถ์
/usr/local/lib/node_modules
ํด๋๋ก ์ด๋ํ๋ฉด ์ ์ญ์ผ๋ก ์ค์นํ ๋ชจ๋๋ค์ด ๋ณด์ผ ๊ฒ๋๋ค.
์ด์ ํฐ๋ฏธ๋์ ํ๋จ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋๋ค.
$ express practice
ํ๋ก์ ํธ ์์ฑ ์๋ฃ!
๐ Express ํ๋ก์ ํธ ์คํ
ํ๋ก์ ํธ ์ต์์ ํด๋ ์์น๋ก ์ด๋ํฉ๋๋ค.
์ฝ๊ฒ, ํ๋ก์ ํธ ์์ฑ ์ ์ ์๋ express <ํ๋ก์ ํธ๋ช > ์์ ํ๋ก์ ํธ๋ช ์ผ๋ก ์ด๋ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
ํด๋น ์์น์์ dependency ์ค์น๋ฅผ ์ํด ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
$ npm install
์ค์น๋ฅผ ํ๋ค๋ฉด node_modules๋ผ๋ ํด๋๊ฐ ์๊ฒผ์ ๊ฒ๋๋ค.
ํด๋น ํด๋๋ dependency๋ฅผ ๋ชจ๋ ๋ด๊ณ ์๋ ํด๋์ ๋๋ค.
npm install ๋ช ๋ น์ด๋ package.json์ ์๋ ๋ชจ๋๋ค์ ์ธ์คํจ ํด์ค๋๋ค.
์ฌ๊ธฐ์ ์๋ dependencies๋ฅผ ์ธ์คํจํด์ฃผ๋ ๊ฒ์ ๋๋ค!
์ด์ express ์์์ ์ํด ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋๋ค.
$ npm start
์ด ์ํ์์ ๋ธ๋ผ์ฐ์ ์ ์ ์ํด์ค๋๋ค.
ํ๋ก์ ํธ ์คํ ์๋ฃ!
๋ค์ VSCode๋ก ๋์์์ ํฐ๋ฏธ๋์ ๋ณด๋ฉด
GET ์์ฒญ์ด ์คํ๋์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค์!
๐ ๋ง์น๋ฉฐ
์ด๋ฒ ๊ธ์์๋ ๊ฐ๋จํ Express ํ๋ก์ ํธ ์์ฑ & ์คํ์ ๋ค๋ค๋ณด์์ต๋๋ค.
๋ค์ ๊ธ์์๋ Express ํ๋ก์ ํธ ์์ฑ ์ ๋์ค๋ ํด๋ & ํ์ผ์ ๋ํด ๋ ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค!
์ฐธ๊ณ : SOPT 29th ์๋ฒ 2์ฐจ ์ธ๋ฏธ๋ ์๋ฃ
'Programming > Node.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Nodejs] firebase๋ก ์ด๋ฉ์ผ ์ธ์ฆ ๊ตฌํํ๊ธฐ (0) | 2022.06.01 |
---|---|
[Nodejs] Express ๊ตฌ์กฐ ๋ฏ์ด๋ณด๊ธฐ (0) | 2022.04.05 |
[Nodejs] firebase FCM์ ์ด์ฉํ pushAlarm ์๋ฒ ๊ตฌํ - ์๋ฆฌ ์ค์ (5) | 2022.02.04 |
[Nodejs] firebase FCM์ ์ด์ฉํ pushAlarm ์๋ฒ ๊ตฌํ (0) | 2022.01.21 |