Node.js 정리

LOOPY·2021년 8월 5일
0
post-thumbnail

Node.js 역시 기계적으로 npm 관련하여 필요한 명령만 그때그때 검색해 사용했고 전혀 그 의미나 역할을 제대로 파악하지 못하고 있었습니다 😂 매번 반성하며 꼼꼼히 공부하려 노력 중입니당 .. 홧팅

1. Node.js

  • Node.js : Chrome V8 JavaScript 엔진으로 빌드 된 JavaScript 런타임
    (런타임 : 프로그래밍 언어가 동작하는 환경)

2. NVM

  • NVM (Node Version Manager) : node.js를 특정 버전으로 다운받지 않고 다양한 버전을 사용할 수 있게 함
    • nvm ls 설치한 node.js 버전 목록 확인
    • nvm install 12.14.1 특정 버전 설치
    • nvm use 12.14.1 특정 버전 사용 -> 이후부터 node 명령 사용 가능
    • node --version 현재 사용 중인 노드 확인
    • nvm uninstall 12.14.1 특정 버전 삭제
    • nvm --help 다양한 명령어 확인

3. NPM

  • NPM (Node Package Manager) : 전 세계의 개발자들이 만든 다양한 기능(=패키지=모듈) 관리 "NPM 생태계"
    -> 학습 난이도 증가+구성 복잡 vs. 관리 효율 증가+손쉬운 기능 고도화 Tradeoff!
    • npm init -y 처음 한 번만
      -> package.json 생성 (이름, 버전, 설명, 저작자, 사용된 패키지 등 다양한 정보 포함)

🌟 package.json은 개발자가 직접 관리 가능 / package-lock.json은 패키지 내부에서 사용되는 정보들 자동 관리 -> 둘 다 절대 삭제 안됨!!
-> node_modules 전부 삭제해도 package.json 정보에 따라 npm i 또는 npm install으로 한 번에 설치 가능

  • npm install parcel-bundler -D parcel-bundler를 devDependecies(개발용 의존성 패키지-> 개발 시에만 사용되고 실제 웹브라우저에서 동작X)로 설치
    -> node_modules 폴더와 package-lock.json 생성
  • npm install lodash lodash를 dependencies(일반 의존성-> 실제 웹브라우저에서도 동작) 설치

4. 개발 서버 실행과 빌드

  • 개발 서버 open with live server 대신 package.json 내 script 중괄호 안에 🌟"dev" : "parcel indexl.html" 삽입 -> npm run dev로 local에서 개발용 서버 오픈
  • "build" : "parcel build index.html" 삽입 -> npm run build -> 실제 사용자들이 보는 결과물 출력 (dist 폴더에 난독화 결과 자동 생성)
    (난독화 : 용량 축소 + 읽기 어렵게 만드는 최적화)
  • Bundle(번들) : 프로젝트 개발에 사용한 여러 모듈(패키지)를 하나로 묶어내는 작업

5. 유의적 버전 (SemVer, Semantic Versioning)

  • Major.Minor.Patch
    • Major : 기존 버전과 호환되지 않는 새로운 버전
    • Minor : 기존 버전과 호환되는 새로운 기능이 추가된 버전
    • Patch : 기존 버전과 호환되는 버그 및 오타 등이 수정된 버전
  • npm update 이름 버전 맨 앞에 ⭐^(carrot) 붙어 있는 경우에만 가장 최신 버전으로 업데이트
    -> ^ 임의로 삭제하면 버전 유지 의미
    -> 패키지의 버전은 node_modules에서 해당 패키지의 폴더 내 package.json 확인하기
  • npm info 이름 패키지 정보 확인 (최신 버전 등)
  • npm install 이름@버전 특정 버전의 패키지 설치(덮어쓰기)

6. .gitignore

  • .gitignore : NPM 프로젝트에서 버전관리 불필요한 폴더 및 파일들 관리
    -> 🌟루트경로에 생성한후 .cache/ 형태로 줄바꿈하며 나열
    (.cache, dist, node_modules 같이 npm install, npm run build 등의 명령 통해 언제든지 다시 설치 가능한 아이들)
profile
2년차 프론트엔드 개발자의 소소한 기록을 담습니다 :-)

0개의 댓글

관련 채용 정보