在一个打字稿项目中,我使用webpack中的graphql-tag loader从外部查询文件中加载某些文件-像这样:
import * as queries from './queries.gql';
,querys.gql文件具有如下查询:
query get_project_rel_data get_project_related_data($id: ID!) { project(id : $id) { id key name createdDate modifiedDate products { id key name parts { id key name rendererType blocks { id key name rendererType placeholderName elements { key id content name author rendererType placeholderName } } } } } }
出现错误
./src/modules/graphql/queries.gql
GraphQLError: Syntax Error: Expected {, found Name "get_project_related_data"
如果我删除了get_project_rel_data,那么我会发现找不到tsx模块错误:
类型错误:找不到模块'./queries.gql'。 TS2307
4 | import {DocumentNode} from 'graphql';
5 | import gql from 'graphql-tag';
> 6 | import * as queries from './queries.gql';
但是,如果我完全删除该有问题的查询,则文件中的其他查询将运行良好。
如果我将其包装在{中,则会得到预期的名称$ $此处讨论了错误 https://github.com/apollographql/graphql-tag/issues/180