Episode praktik pertama: membuat project Gatsby baru lewat CLI, memahami struktur folder yang terbentuk, menjalankan dev server dengan hot reload, serta menambahkan dan mengonfigurasi plugin dasar di gatsby-config.js.

Teori di episode 2 sudah cukup. Sekarang waktunya menulis kode nyata: membuat project Gatsby pertama. Di akhir episode ini kalian akan memiliki situs Gatsby yang berjalan di browser dengan live reload.
Episode 3 mencakup pembuatan project dengan Gatsby CLI, eksplorasi struktur folder, menjalankan dev server, dan menambahkan plugin dasar beserta konfigurasinya di gatsby-config.js.
Gatsby CLI menyediakan perintah gatsby new untuk membuat project dari starter. Starter adalah project Gatsby siap pakai yang bisa dijadikan titik awal:
npx gatsby new gatsby-belajar https://github.com/gatsbyjs/gatsby-starter-hello-worldPerintah npx gatsby new gatsby-belajar akan meng-clone starter, menginstall semua dependency, dan menyiapkan git. Tunggu sampai muncul pesan sukses, lalu masuk ke folder project:
cd gatsby-belajarSelain hello-world, Gatsby menyediakan beberapa starter resmi: gatsby-starter-default untuk situs lengkap, gatsby-starter-blog untuk blog dengan Markdown, dan gatsby-starter-wordpress untuk integrasi WordPress. Untuk belajar, starter hello-world adalah yang paling sederhana dan bersih.
Lihat isi project yang baru dibuat:
ls -laStarter hello-world sangat minimal: folder src/pages, file gatsby-config.js, package.json, dan beberapa file pendukung. File src/pages/index.js adalah halaman pertama kalian — saat dijalankan, file ini menjadi route /.
Konfigurasi utama ada di gatsby-config.js. Buka dan kalian akan melihat struktur seperti ini:
module.exports = {
siteMetadata: {
title: "Gatsby Belajar",
description: "Situs belajar Gatsby",
},
plugins: [],
}Properti siteMetadata menyimpan informasi global situs yang bisa di-query lewat GraphQL, sedangkan plugins adalah array kosong yang nanti akan kita isi.
Jalankan dev server dari dalam folder project:
npm run developPerintah ini menjalankan gatsby develop di belakang layar. Setelah selesai, buka http://localhost:8000 di browser. Kalian akan melihat halaman hello-world milik starter.
Ubah teks di src/pages/index.js, simpan, dan browser akan otomatis memperbarui tanpa reload manual — inilah live reload. Sekaligus, Gatsby menjalankan GraphiQL di http://localhost:8000/___graphql, sebuah explorer interaktif untuk mencoba query sebelum menuliskannya di kode.
Tip
Buka http://localhost:8000/___graphql sekarang dan jalankan query sederhana seperti site untuk melihat siteMetadata. Ini kebiasaan penting yang akan kita pakai di seluruh series.
Untuk menghentikan dev server, tekan Ctrl+C di terminal. Perintah npm run develop selalu bisa dijalankan kembali untuk mulai mengembangkan.
Plugin pertama yang hampir selalu dibutuhkan adalah gatsby-source-filesystem, yang memungkinkan Gatsby membaca file lokal seperti Markdown dan gambar:
npm install gatsby-source-filesystemAgar aktif, plugin harus didaftarkan di gatsby-config.js bersama opsinya:
module.exports = {
siteMetadata: {
title: "Gatsby Belajar",
description: "Situs belajar Gatsby",
},
plugins: [
{
resolve: "gatsby-source-filesystem",
options: {
name: "content",
path: `${__dirname}/content`,
},
},
],
}Opsi path dengan nilai ${__dirname}/content menentukan folder yang dipindai. Setelah menambahkan plugin, Gatsby perlu di-restart dengan npm run develop agar graph diperbarui. Folder content belum ada — buat dengan:
mkdir contentUntuk memastikan semuanya berjalan, jalankan query di GraphiQL untuk melihat data file yang baru saja di-source:
query {
allFile {
nodes {
name
extension
}
}
}Jika allFile mengembalikan node, konfigurasi plugin berhasil. Dari sini kalian siap membangun struktur situs yang lebih lengkap di episode 4.
Episode 3 menuntaskan langkah praktik pertama: membuat project Gatsby dari starter, memahami gatsby-config.js, menjalankan dev server dengan live reload, serta menambahkan dan mengonfigurasi plugin gatsby-source-filesystem.
Inti yang harus dibawa pulang:
npx gatsby new nama-project membuat project dari starter.src/pages menentukan route situs secara otomatis.npm run develop menjalankan dev server di port 8000.___graphql untuk mencoba query.plugins di gatsby-config.js.Di episode 4 selanjutnya kita akan membangun fondasi tampilan: pages, components, dan layouts — membuat halaman baru, memisahkan komponen reusable, memilih strategi styling, dan mengelola metadata halaman dengan Gatsby Head API.