首页 > 解决方案 > 解析器继承不显示参数 typegraphql

问题描述

我有一个关于typegraphql的问题,我尝试做一个BaseResolver,它可以有一个基本的CRUD操作whit typeorm但是当我编译protect whit ts节点时,我没有得到解析器查询/突变的参数,而是参数显示然后在编译几秒钟后消失这是我的代码。

export function CreateBaseResolver<X extends ClassType, T extends ClassType>
(
    Suffix: string,
    ReturnEntity: T,
    BaseInput: X,
    Entity: any,
)
{
    @Resolver({ isAbstract: true })
    abstract class BaseResolver
    {
        @Mutation(() => [ReturnEntity], { name: `PostOne${Suffix}` })
        async PostOne(@Arg('Data', () => BaseInput) Data: any) 
        {
             //Make logic
        }

    }

    return BaseResolver;
}

这是正常的解析器

@InputType()
export class ProductInput
{
    @Field()
    Id_Product: number;
}


const ProductBaseResolver = CreateBaseResolver('Product', Product, ProductInput, Product);

@Resolver(Product)
export class ProductResolver extends ProductBaseResolver
{

}

我在 github https://github.com/MichalLytek/type-graphql/issues/55的问题中发现了这一点

似乎我们需要编译打字稿 whit babel,但在我的情况下我使用 ts 节点,尝试使用 babel 执行它但得到相同的错误,我的解析器中没有参数,如果有人有这个问题,请告诉我真的很感激一个如何做到这一点的例子,我将在下面给出 mi pakaje.json 信息

  "scripts": {
    "watch": "tsc -w",
    "dev": "nodemon dist/index.js",
    "start": "node dist/index.js",
    "prestart": "ts-node src/index.ts"
  },

标签: javascriptnode.jstypescriptgraphqltypegraphql

解决方案


推荐阅读