TypeGraphQL:元数据DesignType =反射类型[parameterIndex] TypeError:无法读取未定义的属性“ 0”

时间:2020-03-05 01:49:50

标签: typescript graphql typegraphql

我正在用TypeGraphQL + Typescript研究GraphQL。它有点美,但是我在打字规则上遇到了麻烦。

所以,我有以下代码:

@Resolver(CountryInfo)
export class StaticDataResolver {

    @Query(_returns => [CountryInfo])
    allcountries(@Arg("arg") arg: string) {

        console.log(arg)
    }

    @Query(_returns => [CompleteCountryInfo])
    countryDetails(@Arg("countryId") countryId: string) {


        console.log(countryId)
    }

    @Query(_returns => [StateInfo])
    statesOfCountry(@Arg("countryId") countryId: string){


        console.log(countryId)
    }
}

运行服务器时出现错误:

F:\github\places-api\node_modules\type-graphql\dist\helpers\findType.js:10
        metadataDesignType = reflectedType[parameterIndex];
                                          ^
TypeError: Cannot read property '0' of undefined
    at Object.findType (F:\github\places-api\node_modules\type-graphql\dist\helpers\findType.js:10:43)
    at Object.getParamInfo (F:\github\places-api\node_modules\type-graphql\dist\helpers\params.js:9:49)
    at F:\github\places-api\node_modules\type-graphql\dist\decorators\Arg.js:9:159
    at F:\github\places-api\src\graphql\resolvers\static-data.resolver.ts:9:37
    at DecorateProperty (F:\github\places-api\node_modules\reflect-metadata\Reflect.js:553:33)
    at Object.decorate (F:\github\places-api\node_modules\reflect-metadata\Reflect.js:123:24)
    at __decorate (F:\github\places-api\src\graphql\resolvers\static-data.resolver.ts:4:92)
    at Object.<anonymous> (F:\github\places-api\src\graphql\resolvers\static-data.resolver.ts:12:5)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Module.m._compile (F:\github\places-api\node_modules\ts-node\src\index.ts:806:23)

我不知道我的代码有什么问题,所以如果有人有答案,我们将不客气! =]

2 个答案:

答案 0 :(得分:0)

看起来您在使用babel时没有适当的TypeScript元数据反射插件。

请签出此问题: https://github.com/MichalLytek/type-graphql/issues/55

答案 1 :(得分:0)

尝试在emitDecoratorMetadata: true中设置tsconfig.json。 它帮助我解决了这个麻烦。