최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

■ 백엔드 ■/NodeJS

nodemon

serpiko 2020. 7. 9. 11:06

 

 

nodemon

 

Nodemon은 소스의 변경 사항을 모니터링하고 서버를 자동으로 다시 시작하는 유틸리티입니다. 

개발버전과 테스트에 적합하며. 패키지매니저인 npm, yarn을 사용하여 설치가 가능합니다.

nodemon을 구동하면 소스코드가 변경 될 때 프로세스가 자동으로 다시 시작됩니다.

 

install

npm

$ npm install --save-dev nodemon

 

yarn

$ yarn add nodemon --dev

 

Execution

기본 실행

$ nodmon [노드 앱]

$ nodemon ./bin/www

$ nodemon src/index.js

 

재실행

이미 nodemon이 실행중이라면 rs 로 프로세스를 다시 시작할 수 있다.

( nodemon 구동중 ... )
rs

 

여러 디렉토리 실행

기본적으로 nodemon은 현재 작업 디렉토리를 모니터링 하는데, 만약 여러개의 디렉토리의 파일을 구동하는경우

 

--watch 옵션을 사용하여 특정 경로를 추가하면 된다.

$ nodemon --watch app --watch libs app/server.js

 

package.json 설정

express의 경우 기본적으로 아래와 같이 설정되어있을텐데

"scripts": {
	"start": "node ./bin/www"
}

 

다음과 같이 변경해 준다

 

아마 프론트엔드의 경우(react...) 다음과 같이 사용하고

"scripts": {
	"start": "node src",
	"start:dev": "nodemon --watch src/ src/index.js"
}

백엔드의 경우(express...) 다음과 같이 설정한다.

"scripts": {
	"start": "node ./bin/www"
	"start:dev": "nodemon ./bin/www"
}

 

실행은 다음 명령어로 실행한다.

 

npm

syntax : npm <command> --key value

$ npm run start --dev

 

(축약형)

$ npm start --dev

yarn

$ yarn start:dev

yarn을 사용하는경우 추천하는 package.jon 설정

패키지 매니저가 yarn인 경우 다음과 같이 매우 축약해서 실행이 가능하므로 제일 편리함을 알 수있다.

 

package.json

"scripts": {
	"start": "node ./bin/www"
	"dev": "nodemon ./bin/www"
}

 

exec

$ yarn dev

 

 

ignore 설정

public 폴더의 파일들은 대개 클라이언트 assets 이므로 작업파일을 저장할때마다 마동 relstart가 되는데

 

불필요한 동작을 ignore 시키기 위해서, 가장 손쉬운 방법은 package.json 에서 아래와 같이 설정하는 방법이다.

 

package.json

"nodemonConfig": {
	"ignore": ["public/*"]
},

 

댓글