Go๋ฏผ๋ณด๋‹ค Go

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž

Create

[package] ๋‚˜ ๋ญ˜ ์•Œ๊ณ  ์žˆ์„๊นŒ?

SleepingOff 2024. 4. 28. 16:57

๐Ÿพ๋“ค์–ด๊ฐ€๋ฉฐ

๋ฆฌ์•กํŠธ 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-์ปดํฌ๋„ŒํŠธ-๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ-๋ฐฐํฌ์ „-ํ…Œ์ŠคํŠธ-๋ฐ-๋ฐฐํฌํ•˜๊ธฐ

โœ”๏ธ๊ฒฐ๋ก 

ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์ •์˜, ์‚ฌ์šฉ, ๋ฐฐํฌ ๋ชจ๋‘ ๊ธ€ ํ•˜๋‚˜๋กœ๋Š” ๋ชจ์ž๋ž„ ์ •๋„๋กœ ๋งŽ์€ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•Œ๊ณ  ์žˆ๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ๋งŒ ์ •๋ฆฌ๋ฅผ ํ–ˆ๊ณ , ์ดํ›„ ์ง์ ‘ ์‹œ๋„ํ•ด๋ณด๋ฉด์„œ ์ข€ ๋” ๊นŠ์ด ์žˆ๋Š” ๊ธ€์„ ์“ธ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค(์–ธ์  ๊ฐ€...)

728x90