express-jwt 和 express-graphql:错误 TS2339:属性 'user' 在类型 'Request' 上不存在
express-jwt and express-graphql: error TS2339: Property 'user' does not exist on type 'Request'
我尝试让 express-jwt 和 graphql 在 typescript 中协同工作。
import * as express from 'express'
import * as expressGraphql from 'express-graphql'
import * as expressJwt from 'express-jwt'
import schema from './api/schemas'
import rootValue from './api/resolvers'
const app = express()
app.use(
expressJwt({
credentialsRequired: false,
secret: process.env.JWT_SECRET
})
)
app.use(
'/',
expressGraphql((req, res, graphQLParams) => ({
schema,
rootValue,
context: {
user: req.user
}
}))
)
我导入了相关类型 @types/express
、@types/express-graphql
和 @types/express-jwt
。
打字错误:
error TS2339: Property 'user' does not exist on type 'Request'
user
由 express-jwt
添加到请求对象上。
我该如何解决?
用一个 属性
扩展 Express Request
interface AuthRequest extends express.Request {
user?: string
}
app.use(
'/',
expressGraphql((req: AuthRequest, res, graphQLParams) => ({
schema,
rootValue,
context: {
user: req.user
}
}))
)
我尝试让 express-jwt 和 graphql 在 typescript 中协同工作。
import * as express from 'express'
import * as expressGraphql from 'express-graphql'
import * as expressJwt from 'express-jwt'
import schema from './api/schemas'
import rootValue from './api/resolvers'
const app = express()
app.use(
expressJwt({
credentialsRequired: false,
secret: process.env.JWT_SECRET
})
)
app.use(
'/',
expressGraphql((req, res, graphQLParams) => ({
schema,
rootValue,
context: {
user: req.user
}
}))
)
我导入了相关类型 @types/express
、@types/express-graphql
和 @types/express-jwt
。
打字错误:
error TS2339: Property 'user' does not exist on type 'Request'
user
由 express-jwt
添加到请求对象上。
我该如何解决?
用一个 属性
扩展 ExpressRequest
interface AuthRequest extends express.Request {
user?: string
}
app.use(
'/',
expressGraphql((req: AuthRequest, res, graphQLParams) => ({
schema,
rootValue,
context: {
user: req.user
}
}))
)