Nodejs, npm, yarn

๐Ÿ“„ Node.js๋ž€?

Nodejs๋Š” Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ ๋œ JavaScript์˜ ๋Ÿฐํƒ€์ž„ ์ž…๋‹ˆ๋‹ค. (by Node ๊ณต์‹ ํŽ˜์ด์ง€)

๋Ÿฐํƒ€์ž„์ด๋ž€? ํŠน์ • ์–ธ์–ด๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ

Nodejs๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ๋ง๊ณ ๋„ ๋‹ค๋ฅธํ™˜๊ฒฝ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

Node.js ์˜ ์œ ๋ž˜

ํฌ๋กฌ๊ฐ™์€ ๋ธŒ๋ผ์šฐ์ €์—๋Š” html์„ ๋™์ ์œผ๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ๊ฒŒํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ด์„ ์—”์ง„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌ๋กฌ์€ V8, ๋ชจ์งˆ๋ผ๋Š” SpiderMonkey๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € ์ค‘ ํฌ๋กฌ์ด ์ธ๊ธฐ๊ฐ€ ์žˆ๋Š” ์ด์œ ์ค‘ ํ•˜๋‚˜๋Š” ๋น ๋ฅธ ์†๋„์ž…๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•ด์„ํ•˜๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ด์šฉํ•  ๋•Œ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๊ณ  ๋Š๋ผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํฌ๋กฌ์€ ์‚ฌ์šฉํ•˜๋˜ ํ•ด์„ ์—”์ง„์ธ V8์„ Node.js๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋”ฐ๋กœ ์ถœ์‹œํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“„ npm(Node Packaged Manager)

npm์€ Node.js์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค.

npm์€ Node.js๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋“ˆ์„ ์›น์—์„œ ๋ฐ›์•„์„œ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

npm์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ฉด package.json์—์„œ ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€๊ฐ€ ์ž๋™์œผ๋กœ ์ •๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“„ yarn

yarn ๋˜ํ•œ npm๊ณผ ๊ฐ™์ด javascript ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์ž…๋‹ˆ๋‹ค.

yarn์„ ์‚ฌ์šฉํ•˜๋ฉด npm ๋ณด๋‹ค ๋” ๋‚˜์€ ํ™˜๊ฒฝ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด ์‚ฌ์šฉ๋Ÿ‰์ด ๋†’์Šต๋‹ˆ๋‹ค.

yarn์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

1. ์†๋„

์šฐ์„  npm๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋‹ค์šด๋ฐ›์€ ํŒจํ‚ค์ง€๋ฅผ ์บ์‹œ์— ์ €์žฅํ•˜์—ฌ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์šด๋กœ๋“œํ•˜์ง€ ์•Š๊ณ  ์บ์‹œ์— ์ €์žฅ๋œ ํŒŒ์ผ์„ ํ™œ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

npm์€ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ• ๋•Œ ์ˆœ์ฐจ์ ์œผ๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐ˜๋ฉด, yarn์€ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•ด ์†๋„๋ฉด์—์„œ ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

2. ์•ˆ์ •์„ฑ๊ณผ ๋ณด์•ˆ

npm์€ ์˜์กด ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋“ค์ด ํฌํ•จ๋˜์ง€๋งŒ yarn์€ package.json์— ์žˆ๋Š” ํŒŒ์ผ๋งŒ ์„ค์น˜ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Leave a comment