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

Nic*_*ick 4 express graphql typeorm typegraphql

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

索引.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");
        })
     })();
Run Code Online (Sandbox Code Playgroud)

GQL 类型:

@InputType()
export class UserRegistrationType {

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

}
Run Code Online (Sandbox Code Playgroud)

实体:

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

          /*......*/

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

         /*......*/
}
Run Code Online (Sandbox Code Playgroud)

突变:

@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();
          } 
}
Run Code Online (Sandbox Code Playgroud)

当我尝试执行突变时,会出现一些奇怪的错误,如下所示,询问我“class-validator”,错误看起来像这样,

"message": "Cannot find module 'class-validator'\nRequire stack:\n- 
Run Code Online (Sandbox Code Playgroud)

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

Nic*_*ick 6

我傻了,必须安装

npm i class-validator
Run Code Online (Sandbox Code Playgroud)

这个包。就这样