udemy mirkonasato のコースを参考に Apollo サーバーをつくる
https://www.udemy.com/course/graphql-by-example/learn/lecture/31830022?start=0#overview
GraphQL サーバーのフォルダと package.json を作成
gq1/ のフォルダと、中に server/ のフォルダを作成
この中にファイルを作る。
package.json を作成して
{
"name": "gq1",
"private": true,
"type": "module"
}
name, private, type を記入
NPM で apollo-server と graphql をインストール
npm i apollo-server graphql
server.js ファイルを作成して起動するが、gql の import と await の実行に失敗。
https://github.com/mirkonasato/graphql-hello-world/blob/main/server/server.js
このソースコードの通りに書いて実行すると
node server/server.js
const { url } = await server.listen({ port: 9000 });
^^^^^
SyntaxError: Unexpected reserved word
await が予期しない予約言葉と出る。
async の中でしか使えないからと解釈した。
この await を削除して 実行すると
import { ApolloServer, gql } from 'apollo-server';
^^^
SyntaxError: The requested module 'apollo-server' does not provide an export named 'gql'
apollo-server は gql を供給しないとでてしまう。
https://github.com/apollographql/apollo-server/issues/1356
issues をみても解決策は見当たらなかった。
3 倍使われている apollo-server-express を使ってみる
いくつか調べると、だいたい apollo-server ではなく
apollo-server-express を仕様して gql を供給していた。
trends を調べると
apollo-server-express が 1.4M なのに対して、
apollo-server は 0.5M しか使われていない。
なので apollo-server-express を使うことにする。
import { ApolloServer, gql } from 'apollo-server-express';
^^^
SyntaxError: The requested module 'apollo-server-express' does not provide an export named 'gql'
-express も同じエラーを吐いた。
なので諦めて、apollographql.com の公式チュートリアルで環境構築をはじめた。
Top comments (0)