: ํ๋์ ํ๋ก๊ทธ๋จ์ด ์ค์น๋๊ณ ๋์ํ๊ธฐ ์ํ ์ฌ๋ฌ ํ์ผ์ ๋ด๊ณ ์๋ ํ๋์ ์์ถ ํ์ผ
: ํจํค์ง์ ์ค์น, ๋ณ๊ฒฝ, ์ญ์ ๋ฑ ๊ด๋ฆฌ๋ฅผ ํธ๋ฆฌํ๊ฒ ํด์ฃผ๋ ํด
: Node.js ์ํ๊ณ์ ํจํค์ง ๋งค๋์
(macOS์ ํจํค์ง ๋งค๋์ ๊ฐ brew์ด๋ฏ, node.js ์ํ๊ณ์์ ํจํค์ง ๋งค๋์ ๋ npm์ด๋ค.)
: ์ฌ๋๋ค์ด ๋ง๋ค์ด ๋์ ๊ฒ์ฆ๋ ์ฝ๋(๋ชจ๋)
: ์ด ํ๋ก๊ทธ๋จ์ ์คํ์ํค๊ธฐ ์ํด ํ์ํ ๋ชจ๋๋ค์ด ๋ฌด์์ธ์ง, ํ๋ก๊ทธ๋จ์ ์คํ์ํค๋ ๋ฐฉ๋ฒ, ํ๋ก๊ทธ๋จ์ ํ
์คํธํ๋ ๋ฐฉ๋ฒ ๋ฑ์ด ๋ช
์๋์ด ์๋ค.
npm install
๋ช
๋ น์ด๋ก ๋ชจ๋๋ค์ ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด node.modules ๋ผ๋ ํด๋๊ฐ ์์ฑ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.: ์ด๋ค ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กด์ฑ(dependency)์ ๊ฐ์ง๊ณ ์๋์ง, ํด๋น ํ๋ก์ ํธ๊ฐ ๊ตฌ๋๋๊ธฐ ์ํด ์ด๋ค ๋ชจ๋๋ค์ด ํ์ํ์ง๋ฅผ ๋ํ๋ธ๋ค.
"๋ชจ๋ ์ด๋ฆ"
์ด๊ณ , ๊ฐ์ "version"
์ด๋ค.dependencies
: ์ ํ๋ฆฌ์ผ์ด์
๋์๊ณผ ์ฐ๊ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ex. underscore, React ๋ฑ
npm install [๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
]
๋๋ npm install --save [๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
]
npm install --save react # react๋ฅผ ์ค์นํ๊ณ , dependencies์ ์ถ๊ฐํ๋ค.
devDependencies
: ์ ํ๋ฆฌ์ผ์ด์
๋์๊ณผ ๊ด๊ณ ์๋, ์ค๋ก์ง ๊ฐ๋ฐ์ ์ํด ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ex. ์ฝ๋ ๋ชจ์์ ์ก์์ฃผ๋ lint, ํ
์คํ
๋ชจ๋ ๋ฑ
npm install [๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
] --save-dev
๋๋ npm install [๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
] -D
npm install mocha --save-dev # mocha๋ฅผ ์ค์นํ๊ณ , devDependencies์ ์ถ๊ฐํ๋ค.
: CLI์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น์ ๊ธฐ์ ํ๋ค.
npm run [์คํฌ๋ฆฝํธ๋ช
]
์ผ๋ก CLI๋ฅผ ์คํํ ์ ์๋ค.
์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ์์ ๋ค์ scripts ํญ๋ชฉ์ ๊ธฐ์ ํ๋ค.
{
"scripts": {
"start": "node index.js",
"test": "mocha test/index.test.js",
"lint": "eslint"
},
}
npm run start
: node.js ์ฑ์ ์คํํ๋ค.npm run test
: ํ
์คํธ๋ฅผ ์คํํ๋ค.npm run lint
: ์ฝ๋๋ฅผ ๊ฒ์ฌํ๋ค.npm init
npm init
: npm์ ์ธ์ ์๋ ์ด๊ธฐ ํ๊ฒฝ์ ์ค์ ํด์ฃผ๊ณ , package.json ํ์ผ์ ๋ง๋๋ ๋ช
๋ น์ด
npm init -y
: ์์ ๊ณผ์ ์ ๋ชจ๋ ์๋ตํ๋ฉด์ package.json ํ์ผ์ ์๋ตํ๊ณ ์ถ๋ค๋ฉด ์ต์
-y
๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
npm init -h
๋๋npm init --help
๋ฅผ ์ ๋ ฅํ์ ๋ ํ์ธํ ์ ์๋ npm init์ ์ต์ ๋ค