首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joi获取validationSchema: Joi.object()错误

Joi获取validationSchema: Joi.object()错误
EN

Stack Overflow用户
提问于 2022-07-28 13:01:20
回答 1查看 353关注 0票数 0

joi框架上安装nestjs之后,我试图通过joi验证两个属性,如下所示:

代码语言:javascript
复制
import Joi from 'joi';
...
ConfigModule.forRoot({
    isGlobal: true,
    validationSchema: Joi.object(
        {
            PORT: Joi.number().required(),
            MONGODB_URI: Joi.string().required(),
        }
    )
}),
...

但我知道这个错误:

代码语言:javascript
复制
Cannot read properties of undefined (reading 'object')

main.ts

代码语言:javascript
复制
async function bootstrap() {
    const app = await NestFactory.create(AppModule);
    // @ts-ignore
    app.useGlobalFilters(new ValidationPipe());
    const configService = app.get(ConfigService);
    const port = configService.get<string>('PORT');
    await app.listen(port);
}

完全错误:

代码语言:javascript
复制
D:\develop\api\src\app.module.ts:16
            validationSchema: Joi.object(
                                  ^
TypeError: Cannot read properties of undefined (reading 'object')
    at Object.<anonymous> (D:\develop\api\src\app.module.ts:16:35)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (D:\develop\api\src\main.ts:2:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
PS D:\develop\api>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 13:41:57

要么使用import * as Joi from 'joi',要么在tsconfig.json中设置esModuleInterop: true。默认情况下,Joi不使用默认导出,因此需要使用命名/命名空间导入(第一个选项),或者需要告诉类型记录以类似方式对待默认导入和命名导入(第二个选项)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73153403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档