티스토리 뷰

728x90
반응형

NestJS Joi 설치

$ npm install --save joi

// app.module.ts

import  Joi from 'joi';

@Module({
  imports: [
    ConfigModule.forRoot({
      envFilePath: '.env',
      isGlobal: true,
      validationSchema: Joi.object({
        NODE_PORT: Joi.string().required(),
        SESSION_ID: Joi.string().required(),
        COOKIE_SECRET: Joi.string().required(),
      }),
    }),
    MongooseModule.forRootAsync({
      useFactory: () => ({
        uri: process.env.MONGODB_URI,
      }),
    }),
    ...
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer) {
    consumer.apply(LoggerMiddleware).forRoutes();
  }
}

 

[에러] 발생에러

validationSchema: Joi.object({ ... 

TypeError: Cannot read properties of undefined (reading 'object')

 

[해결방안 1]

tsconfig.json에서 "esModuleInterop" : true

ES6 모듈사양을 준수하여 CommonJS 모듈을 가져올 수 있게 한다.

// tsconfig.json

{
  "compilerOptions": {
    ...
    "esModuleInterop": true
  },
 }

 

그러나 세션을 읽을 수 없다는 에러가 발생했다.. ㅠㅠ

[에러]

    session({
    ^
TypeError: session is not a function

 

[참고]

 

Joi getting validationSchema: Joi.object() error

After installing joi on nestjs framework i'm trying to validate two property by joi something like: import Joi from 'joi'; ... ConfigModule.forRoot({ isGlobal: true, validationSchema: Joi.o...

stackoverflow.com

 

 

esModuleInterop 속성을 이용한 Import 에러 해결

함수의 테스트를 진행하다, import difference from 'lodash/difference'; difference(); 의 구문으로 인해 TypeError: difference_1.default is not a function 라는 에러가 발생한 것을 확인했습니다. 이번 포스팅에서는 관련

pewww.tistory.com


 

[해결 방안2] import 문을 수정했다.

import * as Joi from 'joi';

 

 

TypeError: Cannot read property 'object' of undefined · Issue #4975 · nestjs/nest

validation.pipe.ts import { PipeTransform, Injectable, ArgumentMetadata, BadRequestException, } from "@nestjs/common"; @Injectable() export class JoiValidationPipe implements PipeTransfor...

github.com

 

728x90
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함