31
25

More than 3 years have passed since last update.

GatsbyJSを試してみた

Last updated at Posted at 2019-11-23

Gatsby.jsとは?

Gatsbyは、Reactに基づく無料のオープンソースフレームワークであり、
開発者が非常に高速なWebサイトやアプリを構築するのに役立ちます

Docsより

:computer:環境構築


まずはCLIが用意されているので、Gatsby CLIをインストールします。

$ npm install -g gatsby-cli

まずは試しにサイトを生成してみます。
※途中でpackage managerの yarnnpm どちらを使うか聞かれます。
今回は yarn を選択しました。

$ gatsby new my-site
? Which package manager would you like to use ? › - Use arrow-keys. Return to submit.
❯   yarn
    npm

生成後のディレクトリ構成は以下の様になりました。

.
├── LICENSE
├── README.md
├── gatsby-browser.js
├── gatsby-config.js
├── gatsby-node.js
├── gatsby-ssr.js
├── node_modules
├── package.json
├── public
├── src
└── yarn.lock

develop用のサーバーを起動し、ブラウザで http://localhost:8000 を確認してみます。

$ cd my-site
$ gatsby develop

↓の様に表示されとけば成功です :sparkles:

ちなみに、production用にbuildする場合は以下コマンドで行います。

$ gatsby build

また、production buildした内容を手元の環境で確認する場合は以下コマンドで行います。

$ gatsby serve

:pencil: ブログを作成する


Gatsby.jsの雰囲気が掴めた所で、次はブログを作成してみます。
https://github.com/gatsbyjs/gatsby-starter-blog を使用する事で簡単にブログを作成できます。

$ gatsby new my-blog https://github.com/gatsbyjs/gatsby-starter-blog

生成後のディレクトリ構成は以下の通りで、先ほどよりBlog用にディレクトリやファイルが増えています。

.
├── LICENSE
├── README.md
├── content
├── gatsby-browser.js
├── gatsby-config.js
├── gatsby-node.js
├── node_modules
├── package.json
├── public
├── src
├── static
└── yarn.lock

早速ローカルで確認してみます。

$ cd my-blog
$ gatsby develop

ブラウザで http://localhost:8000/ を確認すると以下の様なページが表示されます。

また、http://localhost:8000/___graphql を確認すると、ローカル環境のデータをQueryできるGraphiQLが表示されます。
色々揃っていて素敵です :sparkles:


記事を追加する

記事追加も簡単で、content/blog/ に追加するだけで自動で更新されます。
試しに content/blog/sample/index.md を以下の内容で作成すると

---
title: これはサンプルです
---

## 追加された記事

直ぐに反映されます ↓

追加したページ。URLは http://localhost:8000/sample/ になります。

:rocket: デプロイ


今回はまだ試せてないですが、GitHub, GitLab, Bitbucket いずれかにリポジトリを作成し、
Netlify を使用する事で簡単に公開できるとの事でした。 :sparkles:

:link: 参考になったURL


31
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
25