-
[NestJS] 기본 구조공부/Nest 2023. 9. 9. 16:51
nest new를 입력하여 nest의 기본 구조를 가진 폴더들이 설치가 된다. 해당 폴더를 보면 src 이외에는 설치된 폴더나, 파일들을 대부분 모르고 지나치게 되는데, 스스로가 파일들을 알지 못한 상태로 코드를 작업하는 건 아니라고 생각하여, 블로그에 정리하면서 머릿속에 기억하려고 한다.
폴더 구조
.eslintrc.js
- 자바스크립트 프로젝트에서 ESLint를 사용하여 코드에 문제가 없는지 확인하며, 특정한 규칙을 가지고 코드를 작성할 수 있도록 한다.
(참고. daleseo 님 블로그)
.prettierrc
- 코드를 작성하다 보면, '(작은따옴표) "(큰 따옴표)를 혼용해서 사용할 때가 있다. 그런 경우 코드의 형식을 맞춰 줄 수 있다.
룰을 추가하고, 만약 프로젝트에 이 파일이 없으면 기본값으로 세팅됩니다. { "arrowParens": "avoid", // 화살표 함수 괄호 사용 방식 "bracketSpacing": false, // 객체 리터럴에서 괄호에 공백 삽입 여부 "endOfLine": "auto", // EoF 방식, OS별로 처리 방식이 다름 "htmlWhitespaceSensitivity": "css", // HTML 공백 감도 설정 "jsxBracketSameLine": false, // JSX의 마지막 `>`를 다음 줄로 내릴지 여부 "jsxSingleQuote": false, // JSX에 singe 쿼테이션 사용 여부 "printWidth": 80, // 줄 바꿈 할 폭 길이 "proseWrap": "preserve", // markdown 텍스트의 줄바꿈 방식 (v1.8.2) "quoteProps": "as-needed" // 객체 속성에 쿼테이션 적용 방식 "semi": true, // 세미콜론 사용 여부 "singleQuote": true, // single 쿼테이션 사용 여부 "tabWidth": 2, // 탭 너비 "trailingComma": "all", // 여러 줄을 사용할 때, 후행 콤마 사용 방식 "useTabs": false, // 탭 사용 여부 "vueIndentScriptAndStyle": true, // Vue 파일의 script와 style 태그의 들여쓰기 여부 (v1.19.0) "parser": '', // 사용할 parser를 지정, 자동으로 지정됨 "filepath": '', // parser를 유추할 수 있는 파일을 지정 "rangeStart": 0, // 포맷팅을 부분 적용할 파일의 시작 라인 지정 "rangeEnd": Infinity, // 포맷팅 부분 적용할 파일의 끝 라인 지정, "requirePragma": false, // 파일 상단에 미리 정의된 주석을 작성하고 Pragma로 포맷팅 사용 여부 지정 (v1.8.0) "insertPragma": false, // 미리 정의된 @format marker의 사용 여부 (v1.8.0) "overrides": [ { "files": "*.json", "options": { "printWidth": 200 } } ], // 특정 파일별로 옵션을 다르게 지정함, ESLint 방식 사용 }
(참고: https://heewon26.tistory.com/262 )
nest-cli.json
- 프로젝트의 필요한 배포, 정보들을 가지고 있다.
tsconfig.json
- typescript를 어떤 방식으로 작성할 것인지 정의가 된 파일이며, 내 파일에서는 현재 ES12 방식으로 적용이 자동으로 돼 있다.
tsconfig.build.json
- build를 할 때 필요한 설정들이며, excludes에서는 빌드할 때 필요 없는 파일들을 명시한다.
package.json
- 앱이 참조하는 패키지를 명시했으며, 실행할 script를 변경할 수 있다.
Ref.
https://velog.io/@ksone02/NestJS-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EA%B5%AC%EC%A1%B0
NestJS 시작하기, 구조 분석
Nest는 Node.js 서버 측 어플리케이션을 구축하기 위한 프레임워크이며, JavaScript를 사용하고 TypeScript로 빌드되며 객체지향, 함수형, 함수형 반응형 프로그래밍적 요소를 사용할 수 있게 해준다.
velog.io
- 어떤 문제를 해결하기 위해 검색하고 블로그에 작성한 글입니다. 부족한 점이 많지만 틀린 점이나 부족한 점이 있다면 말씀해 주시면 감사하겠습니다.
'공부 > Nest' 카테고리의 다른 글
ReferenceError: crypto is not defined (0) 2025.05.24 [Nest] CPU 상승 개선을 위한 Docker로 Redis 적용 (0) 2024.10.06 [Nest] TypeORM의 DELETE, REMOVE 차이 (0) 2024.06.02 [NestJS] 랜덤 문자열을 생성하여 양방향 암호화 진행하기 (0) 2024.04.23 Nest 설치 및 Nest 명령어로 실행이 안되는 경우 (0) 2023.07.15