Nuxt + GraphQL (Apollo) 上传文件
Posted
技术标签:
【中文标题】Nuxt + GraphQL (Apollo) 上传文件【英文标题】:Nuxt + GraphQL (Apollo) upload files 【发布时间】:2021-12-10 12:17:16 【问题描述】:我目前正在使用@nuxt/apollo
模块。此模块是否适用于文件上传或我需要将 HTTPLink 更改为另一个?
【问题讨论】:
这能回答你的问题吗? nuxt 2.x with apollo 3 @kissu,谢谢,但正如您所见,这也是我的问题))所以,它甚至没有解决我的问题)但无论如何感谢您的光临! 【参考方案1】:在深入检查了库和我的堆栈之后,我终于找到了问题所在。
根据最近的文档,我已经对前端和后端进行了非常简单的设置(自从我上次与他们合作以来,它们发生了巨大的变化),我发现@nuxt/apollo
显然支持开箱即用的文件上传(感谢Guillaume Chau)
问题出在我的后端,我必须将 apollo-server-express
从 "^2.21.0"
更新为 "^3.4.0"
(我正在关注文档,但我的版本较旧,并且不支持文件上传)并按照对于最近的文档,我已经不得不使用 graphqlUploadExpress
中间件并首先像这样启动 GraphQL 服务器:
const apolloServer = new ApolloServer(
schema: schema,
debug: true,
context: contextHook
)
export const applyGraphQLMiddleware = async ( server: app : server: Application ) =>
app.use(graphqlUploadExpress()); // adding this middleware
await apolloServer.start(); // starting the GraphQL Server
apolloServer.applyMiddleware( app ); // only after that I am applying the express server as a middleware
现在文件上传似乎可以正常工作了
以防万一,您可以在 docs 中找到 Schema 和 Resolvers 的整个设置
【讨论】:
以上是关于Nuxt + GraphQL (Apollo) 上传文件的主要内容,如果未能解决你的问题,请参考以下文章
如何调试 nuxt-apollo 服务器端 graphql 请求
使用 nuxt-apollo 时如何使用 GraphQL 查询?
如何使用 Nuxt ServerMiddleware 和 Apollo GraphQL 处理 301 重定向