当后端模式设置为NODE_ENV: development时,所有操作都很完美,但是在生产模式下,graphql-codegen会出错:
本地web服务器错误:
阿波罗服务器不允许
GraphQL内省,但查询包含_schema或_type。要启用内省,在生产中传递内省: true To ApolloServer
生产web服务器错误:
未能从https://example.com/graphql加载架构,原因:无法验证第一个证书。GraphQL代码生成器支持:
"schema")
中的glob expressions)
前端codegen.yml:
schema: ${REACT_APP_GRAPHQL_URL}
documents:
- './src/GraphQL/queries/query.ts'
- './src/GraphQL/mutations/mutation.ts'
overwrite: true
generates:
./src/generated/graphql.tsx:
plugins:
- typescript
- typescript-operations
- typescript-react-apollo
config:
skipTypename: false
withHooks: true
withHOC: false
withComponent: false前端devDependencies:
{
"@graphql-codegen/cli": "^1.20.1",
"@graphql-codegen/typescript": "^1.20.2",
"@graphql-codegen/typescript-operations": "^1.17.14",
"@graphql-codegen/typescript-react-apollo": "^2.2.1",
}国家预防机制脚本:
{
"generate": "graphql-codegen -r dotenv/config --watch --config codegen.yml",
"prebuild": "graphql-codegen -r dotenv/config --config codegen.yml"
}./src/generated/目录添加到.gitignore中
发布于 2021-04-13 14:55:14
我的解决方案是将内省插件和单独的codegen.yml文件添加到:
devDependencies: {"@graphql-codegen/introspection": "^1.18.1"}码元-生成-类型类型.:
schema: graphql.schema.json
documents:
- './src/GraphQL/queries/query.ts'
- './src/GraphQL/mutations/mutation.ts'
overwrite: true
generates:
./src/generated/graphql.tsx:
plugins:
- typescript
- typescript-operations
- typescript-react-apollo
config:
skipTypename: false
withHooks: true
withHOC: false
withComponent: false编码-生成-模式-json.yml:
schema: ${REACT_APP_GRAPHQL_URL}
overwrite: true
generates:
./graphql.schema.json:
plugins:
- introspection因此,需要将./graphql.schema.json文件作为模式源而不是URI来使用。
也许你提出了更好的解决方案?
https://stackoverflow.com/questions/67077301
复制相似问题