01. 서드파티 모듈
# package-lock.json
: 설치된 서드 파티 모듈에 관한 정보
# node_modules
: 서드 파티 모듈이 설치되는 디렉토리
- 설치된 서드파티 모듈들은 package.json 파일을 가진 디렉토리 형식으로 저장됨
# Node.js에서 모듈이 검색되는 순서
- 경로 없이 이름만 주어지면 해당 모듈이 코어모듈 혹은 서드파티 모듈이라고 인식
- package.json이라는 파일을 가진 디렉토리가 패키지다.
- 하나의 서드 파티 모듈은 하나의 패키지다.
- 서드 파티 모듈을 관리할 때 쓰는 npm은 node package manager의 줄임말이다.
2. package.json
# package.json
: 해당 패키지에 관한 정보를 가지고 있는 파일
- 서드파티 모듈은 결국 하나의 패키지
- name
: 패키지의 이름 - version
: 패키지의 버전
- 하나의 패키지는 그 안의 코드 등이 개선될수록 버전이 업데이트 됨
- name 필드와 version 필드를 결합하면 특정 패키지의 특정 버전을 나타낼 수 있음 - description
: 패키지에 대한 설명들
- 패키지 검색 시 해당 내용도 검색 기준으로 활용되기 때문에 알맞은 설명을 써두는 것이 좋음 - keywords
: 패키지에 대한 키워드들
- sns의 해시태그라고 생각하면 됨
- 검색 기준으로 활용됨 - homepages
: 패키지 관련 사이트의 URL
- 패키지 관련 커뮤니티의 홈페이지 주소가 있는 경우가 많음 - bugs
: 패키지를 사용하다가 발생하는 버그들을 신고할 수 있는 URL이나 이메일 - license
: 패키지의 라이센스 정보 - author, contributors
: 패키지를 만든 사람 , 패키지를 만드는 데 기여하는 사람 - main
: 실제로 로드되는 파일의 이름이 적혀있는 필드 - man
: 사용 설명서가 담긴 파일들의 경로 - repository
: 패키지의 코드가 관리되고 있는 레포지토리 주소
- 보통 GitHub의 URL - scripts
: npm으로 간편하게 실행할 수 있는 스크립트 파일들의 정보 - dependencies
: 현재 패키지가 의존하고 있는 다른 패키지들이 나열되어 있는 필드
- Node.js 패키지 생태계의 핵심이 되는 필드
02. 내 모듈을 패키지(서드파티 모듈)로 만들기
# npm.init
: 패키지 생성하는 메소드
# npm 공개 저장소에 업로드하는 방법
: https://www.codeit.kr/learn/3739
03. package.json 과 package-lock.json의 차이
# package.json
- package.json 파일의 dependencies 필드에는 현재 패키지가 동작하기 위해 필요한 다른 패키지들의 버전 범위가 적혀있음
# package-lock.json
- package-lock.json 파일의 dependencies 필드에는 현재 패키지에 실제로 설치되어 있는 다른 패키지들의 버전범위가 적혀있음
- 패키지를 공유할 때 package-lock.json 파일도 package.json 파일과 함께 공유하면 특정 버전의 패키지들을 정확히 동일하게 설치
- 어느 상황에서든 해당 패키지를 공유받는 사람이나 공유해준 사람은 동일한 버전의 dependency를 설치하게 됨
-> package-lock.json 파일도 package.json과 함께 공유해줘야 함
04. Nodemon
# Nodemon
: 파일의 코드 변화를 감시해서 자동으로 재실행해주는 패키지
- 설치
npm install -g nodemon
* -g : 글로벌(전역) 설치 옵션, 패키지를 하나의 실행파일인것 처럼 사용 가능
- 실행
nodemon app_cookie.js
- 코드 수정 후 저장 시 마다 서버에 재접속된다.
- 번거롭게 종료시키고 재접속하는 것을 반복하지 않아도 된다.
'BACKEND > Node.js' 카테고리의 다른 글
[ 생활코딩 - Node.js 활용하기] 2. Session (0) | 2022.11.28 |
---|---|
[ 생활코딩 - Node.js 활용하기] 1. cookie (0) | 2022.11.27 |
[코드잇 - Node.js 기본기] 3. 초간단 웹서버 만들기 (1) | 2022.11.26 |
[코드잇 - Node.js 기본기] 2. Node.js 기본 개념 - ② 비동기 프로그래밍 (0) | 2022.11.26 |
[코드잇 - Node.js 기본기] 2. Node.js 기본 개념 - ① 모듈 (0) | 2022.11.24 |