
一个用于 Nuxt 3 的 GraphQL 客户端。
文档 – npm – 版本 2.x (适用于 Nuxt 2)
npx nuxi@latest module add nuxt-graphql-middleware
所需配置最少
export default defineNuxtConfig({
modules: ['nuxt-graphql-middleware'],
graphqlMiddleware: {
graphqlEndpoint: 'https://example.com/graphql',
},
})
查看 所有配置选项
编写你的第一个查询,例如在 pages/films.query.graphql 中
query films {
allFilms {
films {
id
}
}
}
你的查询现在可以通过 useGraphqlQuery() 可组合函数使用
const { data, errors } = await useGraphqlQuery('films')
console.log(data.allFilms.films)
或者使用 useAsyncData 的便捷包装器
const { data } = await useAsyncGraphqlQuery('films')
console.log(data.value.allFilms.films)
或者,你也可以直接调用 API 路由以获得相同的结果
const response = await $fetch('/api/graphql_middleware/query/films')
或者使用 useFetch
const { data } = await useFetch('/api/graphql_middleware/query/films')
3.x 版本仅与 Nuxt 3 兼容。2.x 分支 和 npm 上的版本与 Nuxt 2 兼容。然而,该版本已不再维护。
该模块使用默认的 Nuxt 模块编写设置,模块本身位于 ./src,演练场位于 ./playground/。
安装模块和演练场的依赖
npm install
这将生成开发所需的所有类型
npm run dev:prepare
演练场使用一个 Apollo 服务器,该服务器需要单独构建。
cd apollo
npm install
npm run compile
npm run start
npm run dev
你现在可以打开 https://:3000 开始开发。
npm run lint
npm run prettier
单元测试使用 Vitest 完成。
npm run test:ci
我们使用 Cypress 运行一些端到端测试。测试针对演练场的 构建 执行
npm run dev:build
npm run dev:start
npm run cypress