티스토리 뷰
Backend/꾸준히 TIL
[NestJS] Joi: Cannot read properties of object undefined
개발하는 후딘 2022. 11. 12. 23:18728x90
반응형
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
[참고]
[해결 방안2] import 문을 수정했다.
import * as Joi from 'joi';
728x90
반응형
'Backend > 꾸준히 TIL' 카테고리의 다른 글
[NestJS+Jest] Controller.spec 테스트 + Guard포함 테스트 (0) | 2022.11.15 |
---|---|
[Node.js] nvm 버젼 변경 (0) | 2022.11.13 |
[NestJS + MongoDB ] NestJS 프레임워크에 MongoDB 연결해보자 (0) | 2022.11.12 |
[NestJS] Repository Pattern 적용시키기 (0) | 2022.11.11 |
[NestJS + Logger] Custom Logger 와 winston Logger 적용하기 (0) | 2022.11.09 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RDBMS
- 나도 할 수 있다
- 디지털디톡스
- vscode
- TDD
- typeORM
- 갓생살자
- TypeScript
- Jekyll
- 바이트디그리
- nestjs
- 스마트폰중독
- nestjs jest
- gem
- MongoDB
- git
- 참고
- node.js
- 습관개선
- 미완
- Mongoose
- jest
- Nest.js
- 클린아키텍쳐
- MySQL
- 개발용어
- OS
- 한달독서
- IT용어
- 한달어스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함