実現したいこと
ゴールはmiragejsを使用して、スキーマ(.graphql)からmockを作成することです
今回詰まっている内容としては、タイトルの通り、外部の.gqlファイル(schema.gql)を参照した際にエラーが出ることです。
ちなみにtsファイル(schema.ts)を参照した際にはちゃんと動作します。
documentを見る限り間違っていなさそうなんですけど、原因がわからないです。
詳しい方いましたら、助言いただけたらありがたいです。
発生している問題・エラーメッセージ
Unexpected identifier 'MovieInput'
該当のソースコード
makeServer.ts
1import { createGraphQLHandler } from '@miragejs/graphql' 2import { createServer } from 'miragejs' 3 4import graphQLSchema from './schema.gql' 5 6export default createServer({ 7 seeds(server) { 8 server.create('Movie', { 9 title: 'The Lord of the Rings: The Fellowship of the Ring', 10 }) 11 server.create('Movie', { 12 title: 'The Lord of the Rings: The Two Towers', 13 }) 14 server.create('Movie', { 15 title: 'The Lord of the Rings: The Return of the King', 16 }) 17 }, 18 routes() { 19 this.post('/graphql', createGraphQLHandler(graphQLSchema, this.schema)) 20 }, 21}) 22
schema.gql
1input MovieInput { 2 title: String 3} 4 5type Movie { 6 id: ID! 7 title: String! 8} 9 10type Mutation { 11 createMovie(input: MovieInput!): Movie 12 deleteMovie(id: ID!): Movie 13 updateMovie(id: ID!, input: MovieInput!): Movie 14} 15 16type Query { 17 movies(title: String): [Movie] 18 movie(id: ID, title: String): Movie 19} 20
schema.ts
1export const graphQLSchema = ` 2input MovieInput { 3 title: String 4 } 5 6 type Movie { 7 id: ID! 8 title: String! 9 } 10 11 type Mutation { 12 createMovie(input: MovieInput!): Movie 13 deleteMovie(id: ID!): Movie 14 updateMovie(id: ID!, input: MovieInput!): Movie 15 } 16 17 type Query { 18 movies(title: String): [Movie] 19 movie(id: ID, title: String): Movie 20 } 21` 22

0 コメント