フロントマター
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」
かなり理解が一気に深まる解説もできます。