NPM이란

물까치·2025년 2월 24일

NodeJs 강의

목록 보기
1/4

정의

NPM(Node Package Manager)은 자바스크립트 패키지 관리자로, Node.js 환경에서 사용되는 패키지를 설치하고 관리하는 도구이다. NPM을 통해 개발자들은 다양한 라이브러리, 프레임워크, 모듈 등을 쉽게 설치하여 프로젝트에 활용할 수 있다.

기능

NPM은 다음과 같은 주요 기능을 제공한다:

  1. 패키지 설치: npm install <package-name> 명령어를 사용하여 필요한 패키지를 설치할 수 있다.
  2. 의존성 관리: 프로젝트에서 사용하는 패키지 간의 의존성을 자동으로 해결하고 관리해준다.
  3. 스크립트 실행: package.json 파일에 정의된 스크립트를 실행할 수 있으며, 필요한 작업들을 자동화할 수 있다.
  4. 패키지 배포: 개발한 패키지를 NPM 레지스트리에 배포하여 다른 사람들이 사용할 수 있도록 할 수 있다.

사용법

  1. NPM 초기화: 프로젝트 폴더에서 npm init 명령어를 입력하여 package.json 파일을 생성하고 프로젝트 정보를 설정한다.
  2. 패키지 설치: npm install <package-name> 명령어를 사용하여 필요한 패키지를 설치한다.
  3. 의존성 추가: --save 옵션을 추가하여 설치한 패키지를 package.json 파일의 의존성 목록에 추가한다.
  4. 스크립트 실행: package.json 파일의 scripts 항목에 필요한 스크립트를 정의할 수 있다.

명령어

npm init # 다음 코드를 활용해서 npm 개발 환경 생성 가능

package.json 파일

script 폴더를 수정해 예약어와 수행할 스크립트를 지정할 수 있음
미리 정의된 예약어가 아닐 떄 npm run 예약어 를 통해 수행가능

npm install <package-name>
  • --save
  • --save-dev
  • -g

npm 모듈

  • 전역 기능: const나 function 같은 키워드 및 process 등의 전역 객체
  • 코어 Node.js 모듈: 파일 시스템 모듈 ("fs"), 경로 모듈 ("path"), Http 모듈 ("http") 등
  • 제3자 모듈: npm install을 통해 어떤 종류의 기능도 설치 가능

전역 기능은 항상 사용 가능하며, 사용하기 위해 파일에 임포트 할 필요가 없습니다.
코어 Node.js 모듈은 설치하지 않아도 되기 때문에 npm install이 필요하지 않지만, 관련된 기능을 사용하려면 임포트 해야 됩니다.

예시를 보여드리면 const fs = require('fs');
“fs” 모듈에서 내보낸 fs객체를 사용할 수 있게 됩니다.

프로젝트 폴더에npm instal을 실행해 제3자 모듈을 설치하고 임포트 합니다.
추후 강의에서 다룰 예정이라 지금 당장 이해하실 필요는 없지만, 그 예로

// Terminal 또는 명령 프롬프트에서는
npm install --save express-sesion

// app.js 같은 코드 파일에서는
const sessions = require('express-session');

디버거 사용

{
	// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
	// 기존 특성에 대한 설명을 보려면 가리킵니다.
	// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
	"version": "0.2.0",
	"configurations": [
		{
			"type": "node",
			"request": "launch",
			"name": "프로그램 시작",
			"skipFiles": [
				"<node_internals>/**"
			],
			"program": "${workspaceFolder}/app.js",
			"restart": true,
			"runtimeExecutable": "nodemon",
			"console": "integratedTerminal"
		}
	]
}

vscode 디버깅 추가 사항

https://code.visualstudio.com/docs/nodejs/nodejs-debugging

profile
광기의 개발일지

0개의 댓글