1. ํ๋๊ทธ๋?
--version , -v, --save-dev ์ด๋ฐ -(middle hyphen) ์ฌ์ฉํ ๋ช ๋ น์ด๋ค์ ํ๋๊ทธ๋ผ๊ณ ํ๋ค.
2. NPM ์์
์ด์ ์ฐ๋ฆฌ๊ฐ ์ธ ๋ชจ๋๋ค์ ์ค์นํด์ฃผ๊ณ , ๊ด๋ฆฌํด์ฃผ๋ NPM์ ๊น์ ๋ณด๊ฒ ๋ค.
์ฐ๋ฆฌ๊ฐ NPM์ ๊น๋ ค๋ ํ์ผ์ ์ ํํ๊ณ , ๊ทธ ํ์ผ ๋ฐ์ ํฐ๋ฏธ๋์์ ํด๋น ๋ช ๋ น์ด๋ฅผ ์น๋ฉด ๋๋ค.
๋ช ๋ น์ด
npm init, npm init -y
npm init ๋ง ์น๊ฒ ๋๋ค๋ฉด, ๊ทธ ํ ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ๊ฐ ์ค์นํ NPM์ ๋ฉํ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ๋ฐ๋ก ์ ์ด์ค์ผ ํ๋ค.
์ด๋ฌํ ๊ณผ์ ์ด ์ซ๋ค๋ฉด, npm init -y๋ฅผ ์น๋ฉด ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฉํ ๋ฐ์ดํฐ ์ ๋ณด ์ ๋ ๊ณผ์ ์ ์๋ตํ๋ค.
3. NPM์ ๋ด๋ถ๊ตฌ์กฐ
(1)์ ์ฒด ๊ตฌ์กฐ
์ฐ๋ฆฌ๊ฐ NPM์ ๊น๋ฉด ๋ฐ๊ณผ ๊ฐ์ ๊ตฌ์กฐ๊ฐ ๋๋ค.
์ฌ๊ธฐ์ package-lock.json์ ํจํค์ง ๊ฐ์ ๊ด๊ณ, ์๊ณ์ง์๊ฐ ๊ธฐ๋ก ๋์ด์ ธ ์๋ ๊ณณ์ด๋ค.
package.json์ ์ฐ๋ฆฌ๊ฐ ์ค์นํ ํจํค์ง๋ค์ ๋ชฉ๋ก์ด ๋ ํ์ผ์ด๋ค.
node_modules๋ผ๋ ํด๋๋ ํ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฐ๋ฆฌ๊ฐ ๊น ๋ชจ๋๋ค์ด ์์ ๋ค์ด์๋ค.
.gitignore์ git version ๊ด๋ฆฌ ์, ๋ฌด์ํ ํ์ผ๋ค(๋ฒ์ ๊ด๋ฆฌ ์ ๋ฐ๊ณ ์ถ์ ํ์ผ)์ ์ ๋ ๊ณณ์ด๋ค.
์ฐ๋ฆฌ๋ ์ฌ๊ธฐ๋ค๊ฐ node_modules๋ฅผ ์ ์ด์ฃผ๋ฉด ๋๋ค.
** ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ Package๋ฅผ ์ค์๋ก ์ญ์ ํ๋๋ผ๋, package.json, package-lock.json์ด ๊ฑด์ฌํ๋ค๋ฉด,
npm install ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ์น๋ฉด ์ง์ด ๊ฒ ๋ค์ ๊น๋ฆฐ๋ค.
ํฐ๋ฏธ๋์ด package.json๊ณผ package-lock.json ๋ ํ์ผ์ ์ด์ด๋ค ๋ณด๊ณ , ์ง์์ง ๊ฒ ์์ผ๋ฉด ์๋์ผ๋ก ๊น์์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
(2) package.json ์ ์ชฝ
package.json ์ ์ชฝ์ ์์ ์ค๋ช ๊ณผ ๊ฐ์ด ๋ฉํ ๋ฐ์ดํฐ ๋ค์ด๋, ๊น๋ฆฐ ์์กด ํจํค์ง์ ๋ชฉ๋ก์ด ์ ํ ์๋ค.
**์์กด์ฑ์ด๋?
์ธ๋ถ์ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๋ง๋ ํจํค์ง๋ฅผ ์ฐ๊ณ ์๋ค๋ฉด, ์์กด์ฑ์ด ์๋ค๊ณ ๋งํ ์ ์๋ค.
4. Node.js์์ ์ธ Package๋ค ๊น๊ธฐ
** ์ด ๋ ์ฃผ์ํ ์ **
package๋ฅผ install ํ ๋ ์ฃผ์ํ ์ ์ด ์๋ค.
ํด๋น package๊ฐ ๊ฐ๋ฐํ ๋๋ง ์ธ package์ธ์ง, ์๋๋ฉด ์น ๋ธ๋ผ์ฐ์ ๋์ํ ๋๋ ์ฐ์ฌ์ ๋ฐฐํฌ ์ฉ์ผ๋ก๋ ์ฐ์ผ package์ธ ์ง ๊ตฌ๋ถํด์ install ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
๋ง์ฝ ํด๋น package๊ฐ ๊ฐ๋ฐํ ๋๋ง ์ฐ์ฌ์ ๋ฐฐํฌํ ๋ ๊ตณ์ด ๋ฐ๋ผ ๋ค์ด๊ฐ์ ์ฉ๋ ์ฐจ์งํ ํ์๊ฐ ์๋ค๋ฉด,
install ์
npm install parcel --save-dev
๋ผ๊ณ ์ณ์ฃผ๋ฉด ๋๋ค. ํด๋น parcel ํ์ผ์ ๋ฐฐํฌ ์ ์ ๋ค์ด๊ฐ๋ค.
--save-dev๋ ์ถ์ฝ ํ๋๊ทธ๋ก -D๋ก ์ ์ด์ค๋ ๋๋ค.
๋ฐฐํฌ์๋ ๋ค์ด๊ฐ ์ ๋ค์ --save-dev ํ๋๊ทธ๋ฅผ ๋นผ์ฃผ๋ฉด ๋๋ค.