[NodeJS]Node.js 개요

Philip Sung·2023년 1월 4일
0

[NodeJS]

목록 보기
2/4
post-thumbnail

01 개요

node.js를 사용하기 위한 전반적인 내용을 다룬다.

최종수정일 : 2023.06.05



02 개발환경설정

Node.js를 사용하기 위한 환경설정, 개발 시 일반적으로 사용하는 패키지들에 대하여 다룬다.

02.01 npm

npm install [option1] packageName
npm search packageName
npm remove packageName
npm pack
npm view packageName
npm publish
npm unpublish
npm owner

install [option1]
-D : 개발 환경에서만 사용할 모듈을 설치, devDependencies에 설치되어 배포에 포함되지 않는다.
-g : 전역 모듈로 설치하여 모든 프로젝트에서 해당 모듈을 사용할 수 있다. 로컬 컴퓨터의 node_modules/ 파일에 패키지가 설치되며, 각 프로젝트의 package.json에는 기록되지 않는다.
-O : package.json의 'optionalDependencies'에 기록된다.
--force : 복사본이 있는 경우에도 강제로 설치한다.
--save : package.json에 설치한 모듈을 'dependencies'에 기록한다.
--save-dev : package.json에 설치한 모듈을 'devDependencies'에 기록한다.

search
원격 저장소 내 모듈 패키지 검색

remove
모듈 제거

pack
package.json 파일에 정의된 모듈을 .tgz 파일로 패키징

view
모듈 상세 정보 표시

publish / unpublish
package.json에 정의된 모듈을 레지스트리에 배포 / 배포취소

owner
저장소 내 패키지 사용자 정보를 추가하거나 삭제, 목록 표시

02.02 nodemon / forever / pm2

nodemon

npm install -D nodemon
npx nodemon fileName

nodemon이 속해있는 디렉토리 및 하위 디렉터리의 파일이 변경될 경우 자동으로 서버를 재시작한다.

forever

npm install -D forever
npm install -D pm2@latest

node.js가 실행중에 오류 발생 시 종료되었을 때 서버를 재실행한다.




03 모듈

모듈은 패키지 하위의 기능단위로 보통 하나의 파일에 작성되어 있다. 다른 파일에서 해당 파일이 구현한 기능을 재사용할 수 있도록 작성되어있다.

03.01 자주 사용하는 기본 모듈

종류메서드기능
'global' : 전역 객체(Global Variable)exports모듈을 내보낼 때 사용
require모듈을 불러들일 때 사용
modulenode.js 모듈을 다룰 때 사용
__filename현재 경로를 포함한 파일 이름
__dirname현재 실행중인 파일의 경로
'process' : 프로세스 객체(Process Object)argv실행 파라미터 출력
execPath실행 파일 경로
cwd현재 어플리케이션 경로
versionnode 버전
memoryUsage현재 서버의 메모리 상태
env여러 환경 설정 정보 확인
'os' : 운영체제 모듈(OS Module)type / platform운영체재를 확인
arch서버의 아키텍처를 구분
networkInterface서버의 지역 IP를 확인
'fs' : 파일시스템 모듈readFile파일을 읽음
exists파일을 확인
writeFile파일을 씀
'util' : 유틸 모듈(Utility Module)format파라미터로 입력한 문자열을 조합
'url' : URI 모듈(URI Module)parseurl을 객체화
formaturl을 직렬화

03.02 http 모듈

03.02.01 대표적인 req, res 메서드

종류메서드설명
reqbodyPOST 방식으로 들어오는 요청 정보 파라미터를 가져온다
queryGET 방식으로 들어오는 요청 쿼리 스트링 파라미터를 가져온다
params개발자가 붙인 라우터 파라미터 정보를 가져온다
headersHTTP 헤더 정보를 가져온다
route현재 라우트에 대한 정보를 가져온다
cookies클라이언트가 전달한 쿠키 값을 가져온다
accepts인자에 타입을 넣고 클라이언트가 해당 타입을 받을 수 있는지 확인한다
ip클라이언트의 ip 주소값을 가져온다
path클라이언트가 요청한 경로를 가져온다
host요청 시 호스트 이름을 반환한다
xhr Ajax요청 시 true를 반환한다
protocol현재 요청의 프로토콜(http, https 등)을 반환한다
secure현재 요청이 보안된 요청이면 true를 반환한다
urlurl 경로와 쿼리 스트링을 반환한다
ressend클라이언트에게 응답을 보낸다
sendFile인자로 넣은 경로의 파일을 클라이언트에 전송한다
json클라이언트에게 json 형태의 응답을 보낸다
render템플릿 엔진을 사용하여 뷰를 렌더링한다
locals뷰를 렌더링하는 기본 문맥을 포함한다
end인자로 넣은 응답을 마지막으로 보내고 응답을 종료한다
statusHTTP 응답 토드를 설정한다
set응답 헤더를 설정한다
cookie클라이언트에 저장될 쿠키를 설정한다
redirect인자로 넣은 URL으로 우회한다
type헤더의 Content-Type을 설정한다
profile
Philip Sung

0개의 댓글