无法读取未定义的属性“上下文” - GraphQL
Posted
技术标签:
【中文标题】无法读取未定义的属性“上下文” - GraphQL【英文标题】:Cannot read property 'context' of undefined - GraphQL 【发布时间】:2020-08-01 02:40:40 【问题描述】:我正在使用 Typescript、Express、TypeORM、GraphQL 和 TypeGraphQL 构建一个允许用户登录的小应用程序。
但是,当我在 GraphQL 操场上点击我的测试查询 bye
时,我得到:
Cannot read property 'context' of undefined
"TypeError: Cannot read property 'context' of undefined",
" at new exports.isAuth // isAuth is a JS file I wrote
MyContext.js
import Request, Response from "express";
export interface MyContext
req: Request;
res: Response;
payload?: userId: string ;
isAuth.js
import MiddlewareFn from "type-graphql";
import verify from "jsonwebtoken";
import MyContext from "./MyContext";
export const isAuth: MiddlewareFn<MyContext> = ( context , next) =>
const authorization = context.req.headers["authorization"];
if (!authorization)
throw new Error("not authorized");
...
用户解析器
@Query(() => String)
@UseMiddleware(isAuth)
bye(@Ctx() payload : MyContext)
console.log(payload);
return `your user id is: $payload!.userId`;
我不确定为什么context
在文件isAuth.js
中未定义
【问题讨论】:
本·阿瓦德,amirite? 【参考方案1】:感谢:https://github.com/MichalLytek/type-graphql/issues/433
1) 进入./tsconfig.json
2) 将"target": "es5"
更改为"target": "es6"
【讨论】:
以上是关于无法读取未定义的属性“上下文” - GraphQL的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的类型错误:无法使用 Gatsby 和 graphQl 读取未定义的属性“数据”
“无法读取未定义的属性‘节点’” - Gatsby/GraphQL/Prismic