フロントマター

Page content

Astroファイル(.astro)に出てくる --- は、
👉 「フロントマター(Frontmatter)」の区切りです。


🧠 どういう意味か

---
const title = "Hello Astro";
---
<h1>{title}</h1>

👉 この --- に囲まれた部分は

「サーバー側で実行されるJavaScript」

です。


⚙️ 役割(超重要)

① JavaScriptを書く場所

  • 変数定義

  • API取得

  • コンポーネントのimport

---
import Layout from "../layouts/Layout.astro";

const message = "こんにちは";
---

② HTMLとロジックを分離

  • 上:処理(JS)

  • 下:表示(HTML)

👉 Reactよりもシンプル構造


🔥 実際の動き

---
const name = "seiichi";
---
<p>Hello {name}</p>

👉 ビルド時 or リクエスト時に

<p>Hello seiichi</p>

に変換される


⚠️ 重要ポイント

❗ クライアントでは動かない

  • --- の中はブラウザでは実行されない

  • サーバー側だけ

👉 console.logしてもブラウザには出ない


❗ 2つ以上書けない

---
// OK
---
---
// NG
---

🧩 似ているもの

  • Markdownのフロントマター

  • Next.jsのServer Component

👉 でもAstroの方が「完全に分離」


💡 よく使うパターン

APIデータ取得

---
const res = await fetch("https://api.example.com");
const data = await res.json();
---

props受け取り

---
const { title } = Astro.props;
---
<h1>{title}</h1>

🧠 まとめ

👉 ---

「ここから上はJS(サーバー)ですよ」という境界線


もしよければ
👉「Reactとの違い(なぜAstroは速いのか)」
👉「初心者が詰まりやすいポイントTOP5」

かなり理解が一気に深まる解説もできます。