JavaScript/NestJS
-
[NestJs] Lifecycle eventsJavaScript/NestJS 2023. 9. 3. 21:59
Nest에는 어플리케이션의 요소들을 관리하는 라이프 사이클을 가지고 있습니다. Nest에서는 라이프 사이클에 관한 2가지 기능을 제공하고 있습니다. 라이프 사이클 이벤트에 대한 가시성을 제공하는 라이프 사이클 훅 이벤트가 발생되었을 때 특정 액션을 실행할 수 있는 기능 라이프 사이클은 크게 3가지로 나뉘어 집니다. (초기화, 실행, 종료) 라이프 사이클 훅 이벤트 onModuleInit() 호스트 모듈이 초기화 되면 호출 onApplicationBootstrap() 모든 모듈이 초기화되면 실행 (커넥션은 생성되지 않은 상태) onModuleDestroy() 종료 시그널을 받았을 때 호출 (호스트 모듈을 삭제하기 직전) beforeApplicationShutdown() onModuleDestroy() 핸들..
-
[NestJS] NestJS cachingJavaScript/NestJS 2021. 9. 5. 16:01
1. npm module 설치 $ npm install cache-manager cache-manager-redis-store $ npm install -D @types/cache-manager 2. redis module import { CacheModule, Module } from '@nestjs/common'; import * as redisStore from 'cache-manager-redis-store'; import { RedisService } from './redis.service'; @Module({ imports: [ CacheModule.registerAsync({ useFactory: () => ({ store: redisStore, host: 'localhost', port: ..
-
[NestJS] 순환 의존성(Circular Dependency) 해결 방법JavaScript/NestJS 2020. 11. 30. 11:09
Circular Dependency 원인 NestJS Module이 서로 import 하면 순환 의존성 문제 발생 @Module({ imports: [PostModule)], providers: [ CommentResolver, CommentSubResolver, CommentService, CommonCommentService, ], exports: [CommentService], }) export class CommentModule {} @Module({ imports: [CommentModule)], providers: [ PostResolver, PostSubResolver, PostService, CommonPostService, ], exports: [PostService], }) export..
-
[NestJS] GraphQL Input Type Enum Field 사용 방법JavaScript/NestJS 2020. 11. 25. 11:17
enum에 registerEnumType 추가해줘야 사용 가능 @InputType() export class PracticeInputType { @IsNumber() @Field(() => Int) public id: number; @IsEnum(PracticeType) @Field(() => PracticeType) public practiceType: PracticeType; } export enum PracticeType { Test1 = 'test1', Test2 = 'test2', Test3 = 'test3', } registerEnumType(PracticeType, { name: 'PracticeType' });
-
[NestJS] NestJS DataLoaderJavaScript/NestJS 2020. 11. 21. 20:12
NestJS Data Loader N+1 문제를 해결하기 위해 사용 Installation npm i nestjs-dataloader --save 사용 방법 1. DataLoader 생성 첫 번째 제네릭은 DB의 ID 타입 두 번째 제네릭은 return될 타입 import { Injectable } from '@nestjs/common'; import * as DataLoader from 'dataloader'; import { NestDataLoader } from 'nestjs-dataloader'; import { RateplanService } from '../service/rateplan.service'; import { RateplanObjectType } from '@/graphql/rate..
-
[NestJS] Unknown authentication strategy "local"JavaScript/NestJS 2020. 9. 22. 20:15
NestJS Document의 Authentication을 직접 실행해보는중에 문제가 발생함 docs.nestjs.com/techniques/authentication Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functi..