Graphql Api Loader
自动请求生成 graphql 请求的 webpack loader
使用方法
安装
npm install --save-dev gql-api-loader
使用步骤
1. webpack loader 配置
在 webpack 配置中加上 gql-api-loader
的配置
{
module: {
rules: [
{
test: /\.(graphql|gql)$/,
use: { loader: 'gql-api-loader'
options: {
endpoint: '/graphql'
}
}
}
]
}
}
loader 的 options 可选项为
{
raw: false,
debug: false,
endpoint: '/graphql',
}
2. 编写 .graphql 文件
示例
fragment.graphql
定义共用的部分
fragment userFields on User {
uid
userName
}
业务接口,先导入 fragment.graphql
,然后定义两个查询
query check {
me {
...userFields
nickName
}
}
mutation create($param: UserParam) {
userCreate(input: $param) {
...userFields
nickName
}
}
在业务代码中引用,调用接口
import gqlConfig from 'gql-api-loader/lib/config'
gqlConfig({
endpoint: 'http://127.0.0.1:9000/gql',
credentials: 'include',
headers: { Authorization: 'Beare XXXXXXXXXXXXXX' },
fetch: (url, options) => window.fetch(url, options),
})
import user from './user.graphql'
;(async function(){
const { me } = await user.check()
console.log(me)
const {userCreate: userinfo} = await user.create({input: {userName: 'eyas'}})
console.log(userinfo)
})()