盖茨比和GraphQL
为什么Gatsby使用GraphQL?
-
- プログラムによりページをビルドする場合 createPages NodeAPIを使ってページを作成する必要がある
→ ブラウザサイドでJavascriptによりページ内容を描画するのではない。URLによるアクセスで最初に表示されるページを動的に生成する
プログラムにハードコードできない場合に..
JSON (third-party API, local Markdown, or JSON fileでデータを取得する)
gatsby-node.js の exports.cratePages の中でjsonから取得したデータを forEachで回してcreatePageでページを生成する
JSONではイメージを渡すことができない(imageフォルダに置いたイメージに対してその相対パスを渡すことになる)
GraphQLを使うとイメージのインポートも適切できる模様? (graphql 関数の中で色々と指定できるみたい)