[Node.js]
Node.js ๋?
node.js๋ Chrome V8 JavaScript ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์์ ๋๋ค.
๋ฐํ์์ ํน์ ์ธ์ด๋ก ๋ง๋ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋ ํ๊ฒฝ์ ๋งํฉ๋๋ค.
์ฆ, ์์ ๋ด์ฉ์ ์ข ๋ ์ฝ๊ฒ ํ์ด์ ๋งํ๋ฉด node๋ V8 ์์ง์ ์ฌ์ฉํ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์๋ ํ๊ฒฝ์ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ node๋ฅผ ์ค์นํ๋ฉด ๋ธ๋ผ์ฐ์ (browser) ์์ด ์ปดํจํฐ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
node.js(๋ ธ๋์ ์ด์์ค)๋ node(๋ ธ๋)๋ผ๋ ์๋ ์ด๋ฆ์ JavaScript(์๋ฐ์คํฌ๋ฆฝํธ)๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด์ .js๋ฅผ ๋ถ์ธ ํํ์ ๋๋ค. ๊ทธ๋์ โnode.js = nodeโ๋ก ๋ณด๋ฉด ๋ฉ๋๋ค.
node.js๊ฐ ๋์ค๊ธฐ ์ ๊น์ง๋ JavaScript(์๋ฐ์คํฌ๋ฆฝํธ) ์ธ์ด๋ฅผ ๋ธ๋ผ์ฐ์ (Google Chrome, Internet Explorer, Mozilla Firefox, Opera, Apple Safari ๋ฑ)์์๋ง ์ฌ์ฉํ ์ ์์์ต๋๋ค. ํ์ง๋ง node๊ฐ ๋์ค๋ฉด์ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ด ์๋ ์๋ฒ์ฌ์ด๋์์ ์ธ ์ ์๊ฒ ๋์์ต๋๋ค.
ํฌ๋กฌ์ V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ์ด๋?
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ฝ๋๋ฅผ ํ ์ค ์ฉ ํด์ํ๋ฉด์ ์คํํ๋ ์ธํฐํ๋ฆฌํฐ(Interpreter) ๋ฐฉ์ ์ด๋ฏ๋ก ์๋๊ฐ ๋๋ฆฐ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ ํฌ๋กฌ์ V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ๋์ค๋ฉด์ ํด๊ฒฐ๋์์ต๋๋ค.
V8 ์์ง์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ๋ฐ๊พผ ํ ์คํํด์ค๋๋ค.
Node.js ์ฅ์
-
JavaScript(์๋ฐ์คํฌ๋ฆฝํธ)๋ง ์ ์๋ฉด Client(ํด๋ผ์ด์ธํธ), Server(์๋ฒ) ๋ชจ๋ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
-
node.js๋ ์คํ์์ค๊ฐ ๋๋ฌด ์ ๋์ด์์ต๋๋ค.
ํ์ํ ๊ธฐ๋ฅ๋ค์ด ์์ฒญ ๋ง์ด ์์ต๋๋ค. npm(node package manager)๋ฅผ ํตํด์ ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค. ์๋์ด์๋ ๋ชจ๋์ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ๋ง ํด๋ ๊ฐ๋ฐ์ด ๊ธ๋ฐฉ ๋ฉ๋๋ค.
homebrew๋ฅผ ์ด์ฉํ node ์ค์น ๋ฐฉ๋ฒ
$ brew install node
- ์ค์น๊ฐ ์๋ฃ๋์๋์ง ํ์ธ
$ node -v
# v16.5.0
$ npm -v
# 7.19.1
NPM(Node Package Manager) ๋?
NPM(Node Package Manager)์ node.js๋ชจ๋์ ๋ชจ์๋ ์ ์ฅ์, ํจํค์ง ์ค์น๋ฅผ ๋์์ฃผ๋ ๋๊ตฌ
NPM(Node Package Manager)๋ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ผ๋ก node.js๋ฅผ ์ค์นํ๋ฉด ์๋์ผ๋ก ๊ฐ์ด ์ค์น๋ฉ๋๋ค.
์ฆ, ํ์ํ ์ฌ๋งํ ๊ธฐ๋ฅ์ ์ด๋ฏธ ๊ฐ๋ฐ์ด ๋ผ์ NPM(Node Package Manager)๋ฅผ ํตํด ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ์ด๋ฏธ ์๋ ๋ชจ๋์ ์ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ๋ง ํด๋ ๊ฐ๋ฐ์ด ๋งค์ฐ ํธ๋ฆฌํด์ง๋๋ค.
์ ๋งํฌ์ ๋ค์ด๊ฐ์ ๋ชจ๋์ ๊ฒ์ํ ์ ์์ต๋๋ค.
github repository ํ์ด์ง๋ฅผ ์ด์ด์ ์ ๋๋ก ๊ฐ๋ฐ์ด ์งํ๋ ๋ชจ๋์ธ์ง ํ์ธํด์ผ ํฉ๋๋ค.
์ฃผ๊ฐ ๋ค์ด๋ก๋ ์๋ฅผ ๋ณด๊ณ , ๋ง์ ๊ฐ๋ฐ์๋ค์ด ์ฌ์ฉํ๊ณ ์๋ ๋ชจ๋์ธ์ง ํ์ธ๊ฐ๋ฅํฉ๋๋ค.
npm์ ์ด์ฉํ ๋ชจ๋ ์ค์น ๋ฐฉ๋ฒ
$ npm install [๋ชจ๋ ์ด๋ฆ] or npm i [๋ชจ๋ ์ด๋ฆ]
๋ชจ๋ ํ๋ก์ ํธ(์ ์ญ ์ค์น) : $ npm install -g [๋ชจ๋๋ช
]
ํ์ฌ ํ๋ก์ ํธ(๋ก์ปฌ ์ค์น) : $ npm install [๋ชจ๋๋ช
]