๊ฐ•์˜

[ํŒจ์ŠคํŠธ์บ ํผ์Šค ๊ฐ•์˜] NODEJS

seulye 2024. 3. 18. 14:04

 

Node.js

Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JavaScript ๋Ÿฐํƒ€์ž„

                                                                 -> ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋™์ž‘ํ•˜๋Š” ํ™˜๊ฒฝ

-> JavaScript์˜ ๋ฌธ๋ฒ•์„ ํ•ด์„ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ์‹ค์ œ๋กœ ๋™์ž‘์‹œ์ผœ์ค„ ์ˆ˜ ์žˆ๋Š” ์—”์ง„

 

์›น๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” HTML, CSS, JS๋งŒ ์ž‘๋™.

๊ฐœ๋ฐœ์„ ๋„์™€์ฃผ๋Š” ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•ด์„œ ๋„์›€์„ ๋ฐ›๊ณ ์ž ํ•  ๋•Œ, Node.js๋ฅผ ํ†ตํ•ด์„œ JavaScript๋กœ ๋ณ€ํ™˜ ํ•„์š”.

 

https://nodejs.org/en

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

LTS ๋ฒ„์ „ ์„ค์น˜. 

 

node --version

 

 

npm

NPM(Node Package Manager)์€ ์ „ ์„ธ๊ณ„์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“  ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ(ํŒจํ‚ค์ง€, ๋ชจ๋“ˆ)๋“ค์„ ๊ด€๋ฆฌ.

npm ์ƒํƒœ๊ณ„ ์•ˆ์— ์žˆ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์šฐ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ๋กœ installํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ. 

๊ด€๋ฆฌ ํšจ์œจ ์ฆ๊ฐ€, ์†์‰ฌ์šด ๊ธฐ๋Šฅ ๊ณ ๋„ํ™” / ํ•™์Šต ๋‚œ์ด๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ , ๊ตฌ์„ฑ์ด ๋ณต์žก

 

 

clear

ํ„ฐ๋ฏธ๋„ ์ดˆ๊ธฐํ™” 

 

npm init

// ๊ธฐ๋ณธ ์งˆ๋ฌธ ์ƒ๋žต ๊ฐ€๋Šฅ
npm init -y

 

 

package.json ์ƒ์„ฑ๋จ. 

 


 

parcel

์›น์‚ฌ์ดํŠธ์—์„œ ๋™์ž‘ํ•  ๋‚ด์šฉ์„ ๋ฌถ์–ด์ฃผ๋Š” ์—ญํ•  (bundler).

์›น์‚ฌ์ดํŠธ์—์„œ ์ง์ ‘์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ํŒจํ‚ค์ง€ ์•„๋‹˜. 

๊ฐœ๋ฐœ์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉ. (--save-dev) devDependecies

npm install parcel --save-dev
npm install --save-dev parcel 
npm install -D parcel

 

parcel ํด๋” ์•ˆ์—๋„ package.json ํŒŒ์ผ์ด ์žˆ์Œ.

์˜์กดํ•˜๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋“ค๋„ ํ•จ๊ป˜ ๋ชจ๋‘ ์„ค์น˜๋จ. (์ด๋Ÿฐ ๊ด€๊ณ„ ์ •๋ณด๋Š” package-lock.json์— ์žˆ์Œ)

 

node_modules๋Š” gitignore์— ์ ์–ด์ฃผ๊ธฐ. 

 

 "scripts": {
    "dev": "parcel ./index.html"
  },

 

npm run dev

 

 

dist ํด๋”

distribute. ์‹ค์ œ ์„œ๋น„์Šค๊ฐ€ ๋ , ๋นŒ๋“œ๋œ ๊ฒฐ๊ณผ. 

typescript๋กœ ๋งŒ๋“  ์ฝ”๋“œ๋ฅผ ํŒŒ์Šฌ์ด ๋ณ€ํ™˜. 

 

 "scripts": {
    "dev": "parcel ./index.html",
    "build": "parcel build ./index.html"
  },

 

npm run build

 

์ œํ’ˆ์šฉ์œผ๋กœ ๋งŒ๋“ฆ. ๋‚œ๋…ํ™”๋จ. ์‚ฌ๋žŒ์ด ํ•ด์„ํ•˜๋Š” ์šฉ๋„๊ฐ€ ์•„๋‹ˆ๋ผ ์ค„๋ฐ”๊ฟˆ์ด๋‚˜ ๋„์–ด์“ฐ๊ธฐ ๊ฐ™์€๊ฒŒ ๋“ค์–ด๊ฐ€์ง€ ์•Š์Œ. 

 

https://parceljs.org/docs/

 

Parcel Documentation

Learn how to start a new project, or migrate an existing project to Parcel 2.

parceljs.org

 


 

์œ ์˜์  ๋ฒ„์ „ (Semantic Versioning, SemVer)

Major.Minor.Patch      4.17.21 

Major : ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์ƒˆ๋กœ์šด ๋ฒ„์ „. ํ”„๋กœ์ ํŠธ์—์„œ ํฌ๊ฒŒ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์žˆ์„ ๋•Œ.

Minor : ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋œ ๋ฒ„์ „. 

Patch : ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋Š” ๋ฒ„๊ทธ ๋ฐ ์˜คํƒ€ ๋“ฑ์ด ์ˆ˜์ •๋œ ๋ฒ„์ „. (๊ธฐ๋Šฅ ์ถ”๊ฐ€x)

 

^ (caret) : Major ๋ฒ„์ „ ์•ˆ์—์„œ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ

npm info lodash
npm install lodash@4.17.19
npm update lodash

caret์„ ์ œ๊ฑฐํ•˜๋ฉด update ๋ถˆ๊ฐ€๋Šฅ. 

 

~ : Minor ๋ฒ„์ „ ์•ˆ์—์„œ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ