[Node.js] 기초

슈가베어·2023년 6월 22일
0

Node

목록 보기
2/3

Node.js란

  • 자바스크립트로 브라우저 밖에서 서버를 구축하는 등의 코드를 실행할 수 있게 해주는 런타임 환경이다
    => 자바스크립트를 어느 환경에서나 실행할 수 있게 해주는 실행기
  • Node.js는 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 Request 처리 성능을 가지고 있다

NPM(Node Package Manager)

Node.js프로젝트를 관리하는 도구이다
온라인 저장소와 커맨드라인 도구로 구성되어 있다

  • NPM 온라인 저장소
    수많은 오픈소스 라이브러리와 도구들이 업로드되는 저장소로 필요한 라이브러리나 도구를 손쉽게 검색하여 이용할 수 있다
  • 커맨드라인 도구
    저장소에서 라이브러리, 도구 설치
    프로젝트 설정 /관리
    프로젝트 의존성 관리

자주 사용하는 NPM 명령어

  • package.json 생성
    $ npm init
    $ npm init -y : 기본 설정

  • 패키지 설치
    $ npm install <package-name> : 로컬 설치
    $ npm install -g <package-name> : 전역 설치
    $ npm install --save-dev <package-name> : 개발 설치
    배포 전까지만 사용
    $ npm install : package.json의 모든 패키지 설치

  • 패키지 제거
    $ npm uninstall <package-name> : 로컬/개발 패키지 제거
    $ npm uninstall -g <package-name> : 전역 패키지 제거

  • 패키지 업데이트
    $ npm update <package-name>:

  • 전역 설치 패키지 확인
    $ npm ls -g --depth=0

  • package.json scripts 프로퍼티의 start 실행
    $ npm start

  • package.json scripts 프로퍼티의 start 이외의 scripts 실행
    $ npm run <script-name>

  • 패키지 정보 참조
    $ npm view <package-name>

  • 버전 확인
    $ npm -v

package.json

프로젝트 관련 정보들이 저장되는 파일로 프로젝트 정보와 패키지의 의존성을 관리한다

<구성 요소>

package-lock.json

npm을 사용해서 node_modules 트리나 package.json 파일을 수정하게 되면 자동으로 생성되는 파일로 파일이 생성되는 시점의 의존성 트리에 대한 정확한 정보를 가지고 있다.
=> 의존성 버전이 갑자기 변경 되지 않도록, 설치된 버전을 고정하는 역할을 한다
=> 저장소에 꼭 커밋!

관련 용어

  • 라이브러리
    특정 기능을 수행하는 코드의 묶음으로 복잡한 기능을 직접 작성하지 않고, 다른 사람이 구현한 것을 사용하는 방법
    Node.js에서는 패키지라고도 부름
  • 스크립트
    간단한 동작을 수행하는 코드로 package.json의 scripts에 선언된 스크립트를 npm run[script-name] 명령어로 실행할 수 있다
    • 자주 사용되는 스크립트
      test- 코드 유닛 테스트 등에 사용
      start- 프로젝트 실행
      stop - 프로젝트 종료

NPX

npm 패키지를 설치하지 않고 사용할 수 있게 해주는 도구
패키지를 설치하고 업데이트 하지 않더라도 npm 레지스트리에 올라가 있는 최신 버전을 실행시키고 설치한다

  • 로컬에 설치된 패키지를 사용할 경우
  • 일회성 명령으로 패키지를 실행할 경우
  • 다른 Node.js 버전으로 명령을 실행할 경우(버전별 실행환경을 확인할 때 유용)
  • gist-based scripts를 공유할 경우(깃이 설치되어 있어야 한다)

=> 유용하다

profile
Just do it!

0개의 댓글