프로젝트의 진정한 시작! 각종 설정 파일 작성하기
이번 글은 조금 지루한 부분이자 단순한 개인 프로젝트를 할때는 꼭 필수는 아닌 그런 부분을 작성하겠습니다.
기본으로 있는 .gitignore 파일에 저는 필요한 부분을 조금 추가 하는 편인데 이건 사람마다 달라서 꼭 필요한건지는 잘모르겠네요
(수정 전)
# compiled output
/dist
/node_modules
# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# OS
.DS_Store
# Tests
/coverage
/.nyc_output
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
(수정 후)
# compiled output
/dist
/node_modules
# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# OS
.DS_Store
# Tests
/coverage
/.nyc_output
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# config
.dev.env
.prod.env
지금 글을 쓰는 시점에서 추가로 뭐가 더 필요한지 생각이 안나서 마지막에 3줄만 추가했습니다.
다음 추가 할것으로는 경로 typescript의 절대 경로 지정입니다.
깔끔한 코드를 위해서라면 저는 꼭 필요하다고 생각하는 부분중 한 가지입니다.
절대 경로 지정전에 파일 구조를 정하겠습니다.
제 방식만이 정답은 아니기 때문에 이부분은 넘어가셔도 괜찮습니다.
src
├── common
│ ├── dtos
│ ├── entities
│ ├── guards
│ └── interfaces
├── config
│ ├── app
│ ├── database
│ │ ├── postgres
│ │ └── mongodb
│ └── jwt
├── providers
| ├── aws
│ │ └── s3
| └── cache
│ └── redis
├── app.controller.ts
├── app.module.ts
└── main.ts
제가 생각하기에는 이게 괜찮은거 같아서 사용중입니다.
파일 구조에서 보이듯이 postgresql과 mongodb, redis를 사용해 볼 생각입니다.
그럼 절대경로를 지정하겠습니다.
절대 경로는 tsconfig.json 파일을 수정하면 됩니다.
// compilerOptions안에서
{
"compilerOptions": {
...,
"paths": {
"@app/*": ["src/*"],
"@app/common/*": ["src/common","src/common/*"],
"app/databases/*": ["src/config/databases", "src/config/databases/*"],
"@app/providers/*": ["src/providers", "src/providers/*"],
}
}
}
저는 회사에 사수가 없기 때문에 뭐가 더 좋은 방식인지는 모르겠지만 아무튼! 저는 이렇게 해보겠습니다.
더 좋은 방식이 있다면 제 글을 읽어 보시고 댓글을 달아주시면 감사하겠습니다.