
Node.js ๊ธฐ๋ฐ ์น ๊ฐ๋ฐ ํ๋ ์์ํฌ
express

Node.js๋ฅผ ์ํ ์น ์ ํ๋ฆฌ์ผ์ด์
ํ๋ ์์ํฌ
์ ์
โข
๋น ๋ฅด๊ณ ๊ฐํธํ ๋ฐฉ์์ผ๋ก ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ์ ์๊ฒ ํด์ค๋๋ค.
โข
๋ผ์ฐํ
, ๋ฏธ๋ค์จ์ด, ํ
ํ๋ฆฟ ์์ง ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ์ ์ฐํ๊ฒ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
express ์๊ฐ ๋ฐ ์ค์น
ํ๋ก์ ํธ ์์ฑ ๋ชจ๋ - express-generator

express-generator ์ค์น
express-generator
๋ฏธ๋ค์จ์ด (middleware)

Express.js ์ ์์ฒญ(request)๊ณผ ์๋ต(response) ์ฌ์ด์ ์์
์ ์ํํ๋ ํจ์
๋ฏธ๋ค์จ์ด๋ Express ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฒญ-์๋ต ์ฌ์ดํด ๋์ ๋ค์ํ ์์
์ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ๊ฐ ๋ฏธ๋ค์จ์ด๋ ์์ฒญ ๊ฐ์ฒด(req), ์๋ต ๊ฐ์ฒด(res), ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์
์์ฒญ-์๋ต ์ฃผ๊ธฐ๋ฅผ ์ ์ดํ๊ธฐ ์ํด ํธ์ถ๋๋ ๋ค์ ๋ฏธ๋ค์จ์ด ํจ์๋ฅผ ๋ํ๋ด๋ next ํจ์๋ฅผ ๋ฐ์ต๋๋ค.
๋ฏธ๋ค์จ์ด์ ํน์ง
1.
์์ฐจ์ ์คํ: ๋ฏธ๋ค์จ์ด๋ ์ฝ๋์์ ์ ์๋ ์์๋๋ก ์์ฐจ์ ์ผ๋ก ์คํ๋ฉ๋๋ค.
๋ฏธ๋ค์จ์ด
Router

์ ์
Express ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ผ์ฐํ
์ ๊ตฌํํ๋ ๊ฐ์ฒด
๋ผ์ฐํฐ ๊ฐ์ฒด๋ Express ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ผ์ฐํ
์ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ์ฌ HTTP ์์ฒญ์ ํน์ ํธ๋ค๋ฌ๋ก ๋งคํํ ์ ์์ต๋๋ค. ํธ๋ค๋ฌ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์๋ต์ ์์ฑํ๋ ํจ์์
๋๋ค.
Router
req & res

req
HTTP ์์ฒญ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฒด
์ฃผ์ ์์ฑ ๋ฐ ๋ฉ์๋
req & res

pug
Node.js์์ ์ฌ์ฉ๋๋ ํ
ํ๋ฆฟ ์์ง
Pug๋ HTML๊ณผ JavaScript๋ฅผ ์กฐํฉํ ์ธ์ด๋ก, HTML์ ์ฅ์ ์ธ ๊ฐ๋
์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ์ ์งํ๋ฉด์ JavaScript์ ๋์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํผ๊ทธ pug

๋์ ์ค
Node.js ์ ํ
ํ๋ฆฟ ์์ง
Nunjucks๋ ํ
ํ๋ฆฟ ์์ง ์ค ํ๋๋ก, JavaScript๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฐ๋ ฅํ๊ณ ์ ์ฐํ ํ
ํ๋ฆฟ ์์ง์
๋๋ค. ์ฃผ๋ก Node.js ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ฉฐ, Express.js์ ํจ๊ป ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
๋์ ์ค Nunjucks

Sequelize
Node.js ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ORM(Object-Relational Mapping) ๋ผ์ด๋ธ๋ฌ๋ฆฌ
MySQL, PostgreSQL, SQLite, MSSQL ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ํฉ๋๋ค. Sequelize๋ฅผ ์ฌ์ฉํ๋ฉด JavaScript ์ฝ๋๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ ์์ฉํ ์ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ๋ชจ๋ธ๋ก ์ ์ํ์ฌ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์์ต๋๋ค.
์ํ๋ผ์ด์ฆ

Nodemon
Node.js ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉ๋๋ ๋๊ตฌ๋ก, ์ฝ๋ ๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ ์๋์ผ๋ก ์๋ฒ๋ฅผ ์ฌ์์ํด์ฃผ๋ ๋๊ตฌ์
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์์ ํ ๋๋ง๋ค ์๋์ผ๋ก ์๋ฒ๋ฅผ ์ค์งํ๊ณ ๋ค์ ์์ํ๋ ๋ฒ๊ฑฐ๋ก์์ ํด๊ฒฐํ๊ธฐ ์ํด Nodemon์ด ์ฌ์ฉ๋ฉ๋๋ค.
Nodemon

Express ๊ฒ์ํ ํ๋ก์ ํธ
1.
ํ๋ก์ ํธ ํด๋ ์์ฑ - board
2.
๋ชจ๋ ์ค์น
3.
config.json (๋ฐ์ดํฐ ์์ค ์ค์ )
Express ๊ฒ์ํ ํ๋ก์ ํธ





