type-graphql 找不到模块“类验证器”异常

Posted

技术标签:

【中文标题】type-graphql 找不到模块“类验证器”异常【英文标题】:type-graphql Cannot find module 'class-validator' exception 【发布时间】:2021-04-04 19:14:32 【问题描述】:

我正在尝试通过 TypeORM 创建 GQL 突变并使用 SQL Server 作为数据库。如果我试图运行突变,它会抛出异常。分享以下代码;

index.ts

(async () => 
    const app = express();
    
        await createConnection();
    
        const apolloServer = new ApolloServer(
            schema: await buildSchema(
                resolvers: [UserRegistrationResolver, HealthResolver],
            ),
            tracing: true,
            context: ( req, res ) => ( req, res )
        );
    
        apolloServer.applyMiddleware( app, cors: false );
    
        app.listen(4000, () => 
            console.log("App is started");
        )
     )();

GQL 类型:

@InputType()
export class UserRegistrationType 

      /*......*/
      @Field()
      Reg_Security_Qus_Ans: string;
     /*......*/


实体:

@ObjectType()
@Entity()
export class User_Registration extends BaseEntity 

          /*......*/

    @Field(() => Int)
    @OneToOne(()=> Security_Questions)
    @JoinColumn()
    Reg_Security_Qus_ID: Security_Questions;

         /*......*/

突变:

@Resolver()
export class UserRegistrationResolver 
@Mutation(() => User_Registration)
     async createRegistrations(
                @Arg("RegistrationMutation") registrationMutation: UserRegistrationType
          ) 
                console.log("Boom1");
                let oneUser = await User_Registration.insert(registrationMutation);
                return oneUser; 
          
    
          @Query(() => User_Registration)
          getUsers() 
                console.log("Boom");
                return User_Registration.find();
           

当我尝试执行突变时,出现如下所示的一些奇怪错误,要求我输入 'class-validator',错误看起来像这样,

"message": "Cannot find module 'class-validator'\nRequire stack:\n- 

谁能帮我解决这个问题。我被这个困住了。提前致谢。

【问题讨论】:

【参考方案1】:

我很笨,我必须安装

npm i class-validator

这个包。就这些

【讨论】:

同样的兄弟,正要诅咒我的互联网大声笑【参考方案2】:

安装class-validator 或使用buildSchemavalidate: false 选项。

【讨论】:

我必须安装class-validator,即使validate 在我的buildSchema 中设置为false

以上是关于type-graphql 找不到模块“类验证器”异常的主要内容,如果未能解决你的问题,请参考以下文章

找不到类验证器的元数据

Type-graphql with lerna --- 错误:无法确定 id 的 GraphQL 输出类型

颤振:“致命错误:找不到模块'位置'”Xcode找不到模块

windows找不到指定模块怎么办?

找不到指定模块

S7200编程时找不到添加模似量模块设置