반응형
※ 나는 Nodejs 버전 관리를 위해 NVM 을 사용한다. NVM 설치 및 사용방법은 아래 링크를 참고.
https://velog.io/@ejchaid/윈도우에서-nvm-설치
Nodejs 의 서버를 구동하기 위해서 사용하는 명령어는
$ node server.js
일 것이다.
개발 시 소스변경 할 때마다 명령어를 다시 치기는 너무 번거롭다.
이 때문에, 소스 변경감지 시 노드 재구동을 해주는 nodemon 이라는 패키지가 존재한다.
패키지 설치 (구동 시에만 필요하기 때문에 devDependencies 에 추가)
## npm
$ npm i -D nodemon
## yarn
$ yarn add -D nodemon
사용법
$ nodemon --watch ./ --exec node server.js
(global 설치가 아닐 시)
$ ./node_modules/.bin/nodemon --watch ./ --exec node server.js
or
## ./nodemon.json
{
"watch": ["./"],
"exec": "node server.js",
"ext": "js json yaml",
"ignore" : ["./logs/"]
}
$ nodemon
(global 설치가 아닐 시)
$ ./node_modules/.bin/nodemon
- watch : 서버 재시작을 위한 변경 감지 경로
- exec : nodemon 수행 명령
- ext: 변경 감지할 확장자
- ignore: 변경 감지 제외
Nodejs 를 개발하다보면 ES6 이상의 문법은 피할 수 없다. 이상없이 서버를 구동시키려면 개발환경에서 babel-node 로 서버를 구동시키는 방법이 있다.
babel 적용을 위해 필요패키지를 설치해야한다.
##npm
$ npm i -D @babel/core @babel/node @babel/preset-env
##yarn
$ yarn add -D @babel/core @babel/node @babel/preset-env
설치 이후 babel 설정 파일 추가
## ./.babelrc
{
"presets": [
"@babel/preset-env"
]
}
실행
$ babel-node server.js
babel-node 명령어를 못찾는다고 한다면...(global 설치가 아닐 시)
$ ./node_modules/.bin/babel-node server.js
노드모듈에서 직접 지정 후 실행시키면 된다.
위와 같이 하면 이상없이 개발환경에서의 노드서버를 구동할 수 있다.
개발환경에서는 프로젝트의 package.json 의 run script에 등록해놓는다.
## ./package.json
...
"scripts": {
"server:dev": "nodemon --watch ./ --exec ./node_modules/.bin/babel-node server.js"
}
...
이 후 npm run 명령어로 해당 스크립트를 실행하면 node 서버가 구동된다.
$ npm run server:dev
참고소스
반응형
'Nodejs' 카테고리의 다른 글
사용자 접속 IP 가져오기 (0) | 2022.01.11 |
---|---|
Window NVM 설치 및 설정 (0) | 2022.01.10 |
Nodejs 로그 라이브러리 (log4js or winston) 적용 (0) | 2021.04.18 |
Nodejs PM2 배포 - ecosystem.config.js (babel 적용) (0) | 2021.04.09 |
Nodejs 상대경로 지옥 탈출하기 (0) | 2021.04.08 |