JiSoo's Devlog
[Node.js] 개발 워크플로우 및 디버깅 본문
NPM: 노드 패키지 매니저
npm을 사용하면 노드 프로젝트라 불리는 작업의 초기 내용을 설정할 수 있다
npm init
package.json 파일 생성
개별 설정된 이름이 있는 일반 스크립트의 경우 npm run 입력 후에 스크립트 이름을 입력해야 한다
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js",
"start-server": "node app.js"
},
start-server의 경우 npm run start-server라고 입력해야 서버가 시작된다
제3자 패키지 설치
직접 작성하지 않은 어떤 기능이나 코드를 사용하고 싶지만 Node.js에도 포함되지 않은 경우 패키지들을 사용함으로써 들어오는 요청을 파싱하고 작업에 도움을 받을 수 있다
npm 저장소에서 모든 패키지들이 저장된 클라우드 패키지 저장소를 통해 사용할 수 있으며 이 패키지들은 노드와 함께 제공되는 도구인 npm을 사용해 간편하게 설치 및 관리할 수 있다
Nodemon 패키지는 자동 재시작 메커니즘
npm install nodemon
개발에 도움을 주는 개발 패키지와 서버에서 실행 중인 앱에 도움이 되는 프로덕션 의존성
nodemon은 개발 과정에서만 사용하기 때문에 개발 의존성이 된다
--save만 입력하면 패키지가 프로덕션 의존성으로 설치되며 실제로 코드 안에서 사용하고 작업하는 패키지
-dev를 추가하면 단순히 개발 도중 사용하는 것임을 나타낸다
-g는 머신 전체에 설치함으로써 어디에서든지 사용할 수 있게 한다
--save-dev를 사용하면 머신 전체가 아닌 이 프로젝트에만 설치
패키지를 사용 중이라면 node_modules 폴더가 필요하지만 프로젝트 작업 중이 아니라면 지워도 된다
다시 프로젝트 작업할 때 npm install 실행해서 설치해주면 된다
전역 기능: const나 function 같은 키워드 및 process 등의 전역 객체
코어 Node.js 모듈: 파일 시스템 모듈 ("fs"), 경로 모듈 ("path"), Http 모듈("http") 등
제3자 모듈: npm install을 통해 어떤 종류의 기능도 설치 가능
전역 기능은 항상 사용 가능하며 사용하기 위해 파일에 임포트 할 필요 X
코어 Node.js 모듈은 설치하지 않아도 되기 때문에 npm install이 안 필요 하지만 관련 기능을 사용하려면 임포트해야 한다
Nodemon
유틸리티 툴로 최종저긍로 node app.js를 실행하는 패키지를 통해 노드 애플리케이션을 실행할 수 있다
"start": "nodemon app.js"
이렇게 하면 이 프로젝트에서 nodemon 툴을 검색
터미널은 전역에서 검색하기 때문에 nodemon app.js를 실행하면 오류 발생
로컬 의존성은 프로젝트를 저장하는 node_modules 폴더가 없어도 공유 가능
전역 레벨에서 nodemon 설치하려면 npm install -g nodemon
-g 플래그는 패키지가 전역 패키지로 추가되게 해서 터미널이나 명령 프롬프트를 포함해 머신 어디에서나 사용 가능하게 한다
오류 유형
· 구문 오류
코드에 오타가 나거나 중괄호를 빼먹는 등의 오류
구문 오류에는 반드시 오류 메시지가 나타나는데 찾기 어려울 수 있지만 시간을 투자해 파일 점검하기
· 런타임 오류
코드를 실행하려고 할 때 멈춰버리는 상황
· 논리적 오류
오류 메시지가 뜨지 않고 앱은 원하는 대로 작동해 찾아내기 힘들다
디버거 사용 권장
'Backend > Node.js' 카테고리의 다른 글
[Node.js] 모델 뷰 컨트롤러(MVC) (1) | 2024.11.04 |
---|---|
[Node.js] 동적 콘텐츠 작업 및 템플릿 엔진 추가 (3) | 2024.10.28 |
[Node.js] Express.js 작업 (1) | 2024.10.22 |
[Node.js] 기본 개념 (3) | 2024.10.21 |