typescript プロジェクトでは、webpack で graphql-tag loader を使用して、外部クエリ ファイルからいくつかのファイルをロードしています - 次のように:
import * as queries from './queries.gql';
また、queries.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';
しかし、その問題のあるクエリを完全に削除すると、ファイル内の他のクエリはうまく機能します。
{ でラップすると、予想される Name found $ エラーがここで説明されます https://github.com/apollographql/graphql-tag/issues/180