๐พ๋ค์ด๊ฐ๋ฉฐ
๋ฆฌ์กํธ UI ์คํฐ๋๋ฅผ ํ๋ ๋ชฉ์ ์ UI๋ฅผ ๊ตฌํํ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ ๋ฎ์ถ๊ณ ์ง์ ๊ตฌํํด๋ณด๋ ์ฐ์ต์ ํ๋ ๊ฒ์ด๋ฉฐ, ์ด๋ ๊ฒ ๊ตฌํํ UI๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(ํจํค์ง)๋ก ๋ฐฐํฌํ์ฌ ๋ค๋ฅธ ํ๋ก์ ํธ์ ์ฌ์ฉํ๊ธฐ ์ํจ์ ๋๋ค.
์ด๋ฅผ ์ํด ์๊ณ ์๋ ๋ด์ฉ์ ๋ํด ์ ๋ฆฌํฉ๋๋ค.
- ํจํค์ง๋ ๋ฌด์์ธ๊ฐ?
- package.json
- ํจํค์ง ๋งค๋์
- ํจํค์ง ์ฌ์ฉํ๊ธฐ
- ํจํค์ง ๋ฐฐํฌํ๊ธฐ
โจ๋ณธ๊ฒฉ์ ์ผ๋ก
โ ํจํค์ง๋ ๋ฌด์์ธ๊ฐ?
npm init
์ ํ๋ฉด ๋ง๋ค์ด์ง๋ ํ์ผ package.json
ํ์ผ.
์ผ์ข
์ ๋ฌธ์๋ก npm์ ํจํค์ง๋ฅผ ๋ฐฐํฌํ๊ฑฐ๋ ์์กด ํจํค์ง๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ผ์ข
์ ๋ฌธ์์
๋๋ค.
์ฌ๊ธฐ์์ ๋งํ๋ ํจํค์ง๋ ์ฌ์ด ์ฌ์ฉ์ ์ํด ์ผ๋ถ ์ฝ๋๋ฅผ ๋ชจ๋ํํ ๊ฒ์ผ๋ก, ํน์ ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋ ํด๋น ํจํค์ง์ ์์กดํ๊ณ ์๋ค๊ณ ํํํฉ๋๋ค. ๊ทธ๋์ package.json์ dependencies๋ devdependencies๋ฅผ ํ์ธํ๋ฉด ์ด๋ค ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ๋ฒ์ ๊น์ง ์ ํํ๊ฒ ๋์ ์์ต๋๋ค. ์ด์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๊ฐ๋ฐ์ ๋ฟ๋ง ์๋ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์๋ package.json์ ๋ณด๊ณ ์ด๋ค ํจํค์ง๋ฅผ ์ฌ์ฉํ๋์ง ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
package.json์ ๊ตฌ์ฑํ๋ ๋ฌธ๋ฒ : https://docs.npmjs.com/cli/v10/configuring-npm/package-json#description
ํจํค์ง๋ฅผ ์ค์นํ ์ ์๋ ๋ช ๋ น์ด๋ก npm, yarn, ๋๋ pnpm์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํจํค์ง ๋งค๋์ ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. npm์ด ๊ฐ์ฅ ๋จผ์ ์์ํ ํจํค์ง ๋งค๋์ ์ด๋ฉฐ, ์ด๋ฅผ ๊ฐ์์ ๋ฐฉ๋ฒ์ ๋ง๊ฒ ๋ณด์ํ ๊ฒ์ด yarn, pnpm์ด๋ฉฐ ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก npm์ ์ฌ์ฉํ๋ ์ด์ ๋ ๊ฑฐ๋ํ ์ปค๋ฎค๋ํฐ ์ ๋๋ค. yarn์ npm์์ ๋ณด์๊ณผ ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ฅํ๋ฉฐ, pnpm์ ํจ์จ์ ์ธ ๋ถ๋ถ์ ๊ฐ์กฐํฉ๋๋ค.
โ ํจํค์ง ์ฌ์ฉํ๊ธฐ
npm์ ํตํด ๋ค๋ฅธ ํจํค์ง ๋งค๋์ ๋ฅผ ์ค์นํฉ๋๋ค. ๊ทธ ํ ํด๋น ํจํค์ง ๋งค๋์ ์ ๋ช ๋ น์ด๋ฅผ ํตํด ์ฌ๋ฌ ํจํค์ง๋ค์ ์ถ๊ฐ, ์ญ์ , ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๋จ, ํจํค์ง๋ฅผ ์ถ๊ฐํ๊ธฐ ์ ์ ํด๋น ํจํค์ง๊ฐ ์ค์นํ๋ ค๊ณ ํ๋ ๊ฒ์ด ๋ง๋์ง npm, yarn ๋ฑ์ ๊ฐ๊ฐ์ ํจํค์ง ๋งค๋์ ๊ณต์ ์ฌ์ดํธ๋ฅผ ํตํด ํ์ธํด์ผ ํฉ๋๋ค. types์ type์ ์ฒ ์ ์ฐจ์ด๋ก๋ ๋ค๋ฅธ ํจํค์ง๊ฐ ์ถ๊ฐ๋ ์ ์์ต๋๋ค.
๋ํ ํด๋น ํจํค์ง๋ฅผ ๋ฐฐํฌ ํ์๋ ์ํฅ์ด ๊ฐ๋ ๊ฒ์ธ์ง ํ๋จํ๊ณ dependencies์ ์ถ๊ฐํ ์ง -D
ํน์ --dev
๋ฅผ ์ฌ์ฉํ์ฌ devDependencies์ ์ถ๊ฐํ ์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
โ ํจํค์ง ๋ฐฐํฌํ๊ธฐ
package.json๋ฅผ ํ ๋๋ก ์ง์ ๋ง๋ ํจํค์ง๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ํจํค์ง๋ก ๋ฐฐํฌํ๊ณ ์ถ์ ๋ถ๋ถ์ lib
ํด๋์ ๋ฃ๊ณ ๋ก์ปฌ์ CLI๋ฅผ ์ด์ฉํด npm์ ๋ก๊ทธ์ธ ํ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๊ณผ์ ์ ๋น๊ต์ ์ฌ์ฐ๋, ๋ฐฐํฌ ํ ์ง์์ ์ธ ๊ด๋ฆฌ์ ์
๋ฐ์ดํธ ๋ฑ์ด ์ด๋ค์ ธ์ผ ํฉ๋๋ค.
์ด์ ๋ํด์ ์์ง ์๋ํด ๋ณธ ์ ์ด ์๊ณ ์ ์ ๋ฆฌ๋ ๊ธ์ด ์์ด ์ด๋ฅผ ๊ณต์ ํฉ๋๋ค.
https://velog.io/@seonye-98/npm-๋ผ์ด๋ธ๋ฌ๋ฆฌ-๋ฐฐํฌ-React-์ปดํฌ๋ํธ-๋ผ์ด๋ธ๋ฌ๋ฆฌ-๋ฐฐํฌ์ -ํ
์คํธ-๋ฐ-๋ฐฐํฌํ๊ธฐ
โ๏ธ๊ฒฐ๋ก
ํจํค์ง์ ๋ํ ์ ์, ์ฌ์ฉ, ๋ฐฐํฌ ๋ชจ๋ ๊ธ ํ๋๋ก๋ ๋ชจ์๋ ์ ๋๋ก ๋ง์ ๋ด์ฉ์ ๋ด๊ณ ์์ต๋๋ค. ๊ทธ๋์ ์๊ณ ์๋ ๋ด์ฉ์ ๋ํด์๋ง ์ ๋ฆฌ๋ฅผ ํ๊ณ , ์ดํ ์ง์ ์๋ํด๋ณด๋ฉด์ ์ข ๋ ๊น์ด ์๋ ๊ธ์ ์ธ ์์ ์ ๋๋ค(์ธ์ ๊ฐ...)