[WIL] Package.json

SooΒ·2022λ…„ 12μ›” 5일
0

πŸ’‘ REST API λž€?

  • REST API μ—μ„œ RESTλŠ” Representational State Transfer 의 μ•½μžλ‘œ μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ‘œκ·Έλž¨ μ•„ν‚€ν…μ²˜μ˜ ν•œ ν˜•μ‹
  • 즉, μžμ›μ„ 이름 (μžμ›μ˜ ν‘œν˜„) 으둜 κ΅¬λΆ„ν•˜μ—¬ ν•΄λ‹Ή μžμ›μ˜ μƒνƒœ (정보)λ₯Ό μ£Όκ³  λ°›λŠ” λͺ¨λ“  것을 μ˜λ―Έν•œλ‹€.
  • μ›”λ“œ μ™€μ΄λ“œ μ›Ή (WWW) κ³Ό 같은 λΆ„μ‚° ν•˜μ΄νΌλ―Έλ””μ–΄ μ‹œμŠ€ν…œμ„ μœ„ν•œ μ†Œν”„νŠΈμ›¨μ–΄ 개발 μ•„ν‚€ν…μ²˜μ˜ ν•œ ν˜•μ‹
  • RESTλŠ” 기본적으둜 μ›Ήμ˜ κΈ°μ‘΄ 기술과 HTTP ν”„λ‘œν† μ½œμ„ κ·ΈλŒ€λ‘œ ν™œμš©ν•˜κΈ° λ•Œλ¬Έμ— μ›Ήμ˜ μž₯점을 μ΅œλŒ€ν•œ ν™œμš©ν•  수 μžˆλŠ” μ•„ν‚€ν…μ²˜ μŠ€νƒ€μΌμž„

❓ RESTful APIsλ₯Ό μ™œ λ§Œλ“œλŠ” κ²ƒμΌκΉŒ?

  • RESTful APIs κ°œλ°œν•˜λŠ” κ°€μž₯ 큰 μ΄μœ λŠ” Client Sideλ₯Ό μ •ν˜•ν™”λœ ν”Œλž«νΌμ΄ μ•„λ‹Œ λͺ¨λ°”일, PC, μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ λ“± ν”Œλž«νΌμ— μ œμ•½μ„ 두지 μ•ŠλŠ” 것을 λͺ©ν‘œλ‘œ ν–ˆκΈ° λ•Œλ¬Έ
  • 즉, 2010λ…„ μ΄μ „λ§Œ 해도 Server Sideμ—μ„œ 데이터λ₯Ό μ „λ‹¬ν•΄μ£ΌλŠ” Client ν”„λ‘œκ·Έλž¨μ˜ λŒ€μƒμ€ PC λΈŒλΌμš°μ €λ‘œ κ·Έ λŒ€μƒμ΄ λͺ…ν™• ν–ˆλ‹€. κ·Έλ ‡λ‹€ λ³΄λ‹ˆ κ·Έλƒ₯ JSP ASP PHP 등을 μž‰μš”ν•œ μ›ΉνŽ˜μ΄μ§€λ₯Ό κ΅¬μ„±ν•˜κ³  μž‘μ—…μ„ μ§„ν–‰ν•˜λ©΄ 됐닀.
  • ν•˜μ§€λ§Œ 슀마트 기기듀이 λ“±μž₯ν•˜λ©΄μ„œ TV, 슀마트 폰, ν…ŒλΈ”λ¦Ώ λ“± Client ν”„λ‘œκ·Έλž¨μ΄ λ‹€μ–‘ν™” 되고 그에 맞좰 Serverλ₯Ό 일일이 λ§Œλ‹€λŠ” 것이 κ½€ λΉ„νš¨μœ¨μ μΈ 일이 λ˜μ–΄ 버림.
  • 이런 κ³Όμ •μ—μ„œ κ°œλ°œμžλ“€μ€ Client Sideλ₯Ό μ „ν˜€ κ³ λ €ν•˜μ§€ μ•Šκ³  λ©”μ‹œμ§€ 기반, XML, JSONκ³Ό 같은 Clientμ—μ„œ λ°”λ‘œ 객체둜 μΉ˜ν™˜ κ°€λŠ₯ν•œ ν˜•νƒœμ˜ 데이터 톡신을 지ν–₯ν•˜κ²Œ λ˜λ©΄μ„œ Server와 Client의 역할을 λΆ„λ¦¬ν•˜κ²Œ 됨

πŸ’‘ npm μ΄λž€?

  • Node.js μ „μš© νŒ¨ν‚€μ§€κ°€ μ˜¬λΌκ°€ μžˆλŠ” μ„œλ²„
  • νŒ¨ν‚€μ§€ μ—…λ‘œλ“œ/λ‹€μš΄λ‘œλ“œ 및 버전 관리 κΈ°λŠ₯을 제곡
  • Node.jsλ₯Ό μ„€μΉ˜ν• λ•Œ ν•¨κ»˜ μ„€μΉ˜

    πŸ’‘ 짚고 λ„˜μ–΄κ°€κΈ°

    • μ—¬κΈ°μ„œ νŒ¨ν‚€μ§€λž€, 남듀이 λ§Œλ“€μ–΄ 놓은 μ™ΈλΆ€λͺ¨λ“ˆλ‘œ, λΌμ΄λΈŒλŸ¬λ¦¬μ™€ 같은 κ°œλ…

package.json 생성

  • μˆ˜λ§Žμ€ νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ°›λ‹€λ³΄λ©΄ κ΄€λ¦¬ν•˜κΈ°κ°€ μ–΄λ €μ›Œμ§
  • κ·Έλž˜μ„œ ν”„λ‘œμ νŠΈλ§ˆλ‹€ package.json νŒŒμΌμ„ λ§Œλ“€μ–΄ νŒ¨ν‚€μ§€λͺ©λ‘ 및 버전 관리
  • ν”„λ‘œμ νŠΈ μƒμ„±ν•˜μžλ§ˆμž package.json λ§Œλ“€μ–΄μ£Όκ³  μ‹œμž‘ν•˜κΈΈ ꢌμž₯함
// λͺ…λ Ήμ–΄: npm init

1) package name λ“±μ˜ 정보λ₯Ό μž…λ ₯ν•΄μ€€λ‹€. ν•„μš” μ—†λŠ” ν•­λͺ©μ€ Enterλ₯Ό 눌러 μŠ€ν‚΅ν•  수 μžˆλ‹€.

2) λ§ˆμ§€λ§‰μ— Is this OK? ν•­λͺ©μ—μ„œ yesλ₯Ό μž…λ ₯ν•΄μ€€λ‹€.

  • μ •μƒμ μœΌλ‘œ package.json νŒŒμΌμ„ μƒμ„±ν–ˆλ‹€λ©΄ μ•„λž˜μ˜ 3가지 파일 및 폴더가 생성될 것이닀.
  • 단, μ™ΈλΆ€ νŒ¨ν‚€μ§€λ₯Ό μ „ν˜€ μ„€μΉ˜ν•˜μ§€ μ•Šμ€ 초기 μƒνƒœλΌλ©΄ node_modules폴더, package-lock.jsonνŒŒμΌμ€ μƒμ„±λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€.

  • 좔후에 "npm install νŒ¨ν‚€μ§€" λͺ…λ Ήμ–΄ 등을 톡해 νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜λ©΄ μžλ™μœΌλ‘œ 생성될 것이닀.

참고자료: https://curryyou.tistory.com/346

profile
Soogineer's Devlog

0개의 λŒ“κΈ€