1. Node
- node는 크롬의 V8 자바스크립트 엔진에 내장된 자바스크립트 런타임이다
- 오픈소스라서 코드를 확인할 수 있고 크로스 플랫폼이며, 백엔드를 사용할 수 있다
- 이벤트 기반으로 개발이 가능하며 Non-Blocking I/O를 지원하기 때문에 비동기식 프로그래밍이 가능하다
2. NPM(Node Package Manager)
버전관리
Patch releases
: 버그를 수정하거나 사소한 오류를 수정
Minor releases
: 조금더 기능이 추가될 경우
Major releases
: 기존의 제품에서 정말 다른 기능들이 대거 추가되거나 수정될 경우
버전관리 사이트
명령어
- npm 라이브러리 설치 :
npm install or npm i or npm add
- 개발모드로 설치 :
npm i 라이브러리이름 --save-dev
- npm 라이브러리 삭제 :
npm uninstall or npm un
- 라이브러리 정보 확인 :
npm view 라이브러리이름
- 업데이트가 필요한 라이브러리들을 나열 :
npm outdated
- 전체 라이브러리 업데이트 :
npm update
- 원하는 라이브러리만 업데이트 :
npm update 라이브러리이름
nodemon
- 노드가 실행하는 파일이 속한 디렉터리를 감시하고 있다가 파일이 수정되면 자동으로 노드 애플리케이션을 재시작하는 확장모듈
- npm으로 설치후 터미널에서 실행하고자 하는 애플리케이션을 node 명령어 대신 nodemon으로 실행하면 된다
- 혹은 package.json 파일에 scripts -> start -> node app 대신 nodemon app으로 변경하면 npm start를 계속해서 입력해서 확인하지 않아도 파일을 저장하면 자동으로 터미널을 동작 시켜준다
3. Debugging
- 코드에서 정확하게 어디에서 문제가 초래되었는지 예상하면서 정확히 문제가 되는 부분을 찾아 버그를 찾은 다음 버그를 잡아나아가는 과정
- 디버깅에서 어떤 문제인지 어떤 버그인지 어떤 오류인지 문제를 정의하는것이 제일 중요하다
- 디버깅을 하다가 중간에 내용을 변경하면 변경내용이 반영이 안되므로 디버깅을 중지했다가 다시 실행해야한다
- 위와 같은 문제를 해결하기위해 launch.json 파일을 만든 후 아래코드를 추가하면 디버깅을 자동 재시작한다
{ "runtimeExecutable" : "nodemon", "restart" : true }