Nest.js 전반적인 이해
Eslint-Prettier 전반적인 이해
npx @nestjs/cli new qqq
기본적인 폴더 생성 => 보일러 플레이트(초기 폴더 구조)
"scripts": {
"prebuild": "rimraf dist",
"build": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
"start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch",
"test:cov": "jest --coverage",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "jest --config ./test/jest-e2e.json"
},
개발할 때
: "start:dev"
사용 배포할 때
: "start:prod"
사용 "start:dev"
: "nest start --watch"
⇒ watch : 소스코드가 바뀌면 자동으로 리프레쉬 해주는 것
test
: 배포전에 테스트 코드를 작성해서 실행시켜 봄으로 모든 API가 제대로 작동하는지 확인하는 것으로 보다 안전한 개발을 하기 위한 것입니다.
확장 프로그램 Eslint & Prettier를 다운 받아 사용가능
vsCode 설정-> Format On Save Mode 선택하여 설정 할 수 있다.
협업시 같은 스타일 코드로 개발 가능 -> 최상단 폴더에 .vscode 폴더 안에 settings.json파일 생성
husky : 경고가 있으면 git에 올리지 못함
// settings.json
{
"editor.formatOnSave": true, // 저장하면 프리티어가 바로 적용될 수 있게 설정
"editor.defaultFormatter": "esbenp.prettier-vscode" // prettier 포멧 적용 설정
}
// yarn add @nestjs/graphql @nestjs/apollo graphql apollo-server-express 다운
import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
@Module({
imports: [
GraphQLModule.forRoot<ApolloDriverConfig>({
driver: ApolloDriver,
autoSchemaFile: 'src/commons/graphql/scheam.gql',
// Code-first -> autoSchemaFile : "경로파일 설정"
}),
],
})
export class AppModule {}
----------------------------------------------------------------------------
// scheam.gql
# ------------------------------------------------------
# THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
# ------------------------------------------------------
type Query {
test: String
}