1. directory 만들기
mkdir nodejs-boilerplate
cd nodejs-boilerplate
2. npm init
으로 package 만들기
npm init
3. git project
만들기
git init
4. expressjs 설치
npm install express --save
5. eslint 설치
- module 방식을 commonjs로 했더니 airbnb 룰에서 conflict이 발생했다.
airbnb 룰에서는 module을 esm으로 사용하기를 권장한다.
참조
eslint --init
6. gitignore 설치
- 프로젝트에서 사용하는 언어별로 gitignore을 자동으로 생성해주는 패키지가 있다. 패키지
- 글로벌 패키지로 설치한 다음에 gitignore를 실행한다.
npm install gitignore -g
gitignore node
7. husky 설치
npm install husky --save-dev
npx husky install
npm set-script prepare "husky install"
// stage된 파일에 대해서만 lint를 적용하기 위해서
npx mrm@2 lint-staged
8. entry point 생성
mkdir src
touch src/index.js
npm set-script start "node src/index.js"
import express from 'express';
const app = express();
const PORT = 6687;
app.get('/', (req, res) => {
res.json({message : 'hello world'});
});
app.listen(PORT, () => {
console.log('Server listening '+ PORT);
});
추가 내용
- hot reload를 위해서 nodemon을 설치하고 실행 script를 추가한다.
npm install nodemon --save-dev
npm set-script dev "nodemon src/index.js"