Astroã®å§ãæ¹ â æåã®ããŒãžãäœã£ãŠãã«ãããå ¥éã¬ã€ã
èšäºã¯HTMLãåãéšåã«JavaScript
- Node.jsã®èŠä»¶ã確èªãã
- ãããžã§ã¯ããäœæããŠ1ããŒãžç·šéãã
- éçºãµãŒããŒãšæ¬çªãã«ããåºå¥ãã
- éçHTMLãšã¯ã©ã€ã¢ã³ãåŽJavaScriptã®åœ¹å²ãç¥ã
æåã®ãŽãŒã«ïŒå¥œããªãã®ã玹ä»ãã1ããŒãž
ãŸãèŠåºããšãªã¹ããèªåã®èšèãžå€ããŠã¿ãŸããããReactãããŒã¿ããŒã¹ã¯ããã®ç·Žç¿ã§ã¯äœ¿ããŸããã
1. Node.jsã確èªããŠãããžã§ã¯ããäœã
ç¢ºèªæç¹ã®èŠä»¶ã¯ Node.js 22.12.0以äžã奿°ã¡ãžã£ãŒçã¯ãµããŒããããªããããå ¬åŒã察å¿ããLTSç³»åã®æŽæ°çãéžã³ãŸãã以äžã®æåã®2ã€ã䜿ããªãå Žåã¯ãå ã«Node.jså ¬åŒã®ããŠã³ããŒãæ¡å ã§æºåããŠãã ããã
node --version
npm --version
npm create astro@latest my-astro-site
察話ã§ã¯æå°æ§æã®ãã³ãã¬ãŒããéžã³ãŸããäŸåé¢ä¿ã®ã€ã³ã¹ããŒã«ãéžãã å Žåã¯äœæäžã«å®è¡ãããŸããGitã®åæåã¯ä»»æã§ããå®äºãããç§»åããŸãã
cd my-astro-site
npm install
npm run dev
ã¿ãŒããã«ã«è¡šç€ºãããããŒã«ã«URLãéããŸããé垞㯠http://localhost:4321 ã§ããã䜿çšäžã®ããŒããªã©ã§å€ãããã衚瀺ã確èªããŸããããæ¢ãããšãã¯ããã®ã¿ãŒããã«ã§Ctrl+CãæŒããŸãã
2. src/pages/index.astroãç·šéãã
ãã¡ã€ã«ã®å å®¹ãæ¬¡ãžçœ®ãæããŠä¿åããŸãã
---
const title = "ã²ããã®ãããã";
const items = ["èªæž", "æ£æ©", "ããã°ã©ãã³ã°"];
---
<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{title}</title>
</head>
<body>
<h1>{title}</h1>
<ul>
{items.map((item) => <li>{item}</li>)}
</ul>
</body>
</html>
<style>
h1 { color: #24629b; }
</style>
ãã²ããã®ããããããš3é
ç®ã衚瀺ããããæåã§ããé
åã®äžèº«ãå€ããŠã¿ãŸãããããã®ãã¡ã€ã«ã«ã¯ãã©ãŠã¶ã§åã script ããªããé
åãããªã¹ããäœãåŠçã¯ããŒãžã®çæåŽã§è¡ãããŸãã
3. éçºç»é¢ãšå ¬éçšã®åºåãåãã
éçºãµãŒããŒãæ¢ããŠãããæ¬¡ãå®è¡ããŸãã
npm run build
npm run preview
æåããã° dist ã«éçææç©ãã§ãããã¬ãã¥ãŒã®URLã§ãåãèŠåºããšãªã¹ãã確èªã§ããŸããpreviewã¯ææç©ãããŒã«ã«ã§ç¢ºãããã³ãã³ãã§ããæ¬çªå
¬éã¯ãå©çšãããã¹ãã£ã³ã°ã®Astroåãæé ã«åŸããŸãã
ã€ãŸããããšããšã次ã«é²ãé
- Node.jsã®èŠä»¶ãšã©ãŒïŒ
node --versionãšå ¬åŒã®å¿ èŠæ¡ä»¶ãç §åããå¥ã®å€ãNode.jsãPATHã§éžã°ããŠããªãã確èªããŸãã - Missing script: devïŒä»ãããã©ã«ãã«ããã®ãããžã§ã¯ãã®
package.jsonãããã確èªããŸãã - Reactã眮ããã®ã«ã¯ãªãã¯ãžåå¿ããªãïŒã€ã³ãã°ã¬ãŒã·ã§ã³ãš
client:ã®æå®ã確èªããŸããHTMLã衚瀺ããã ããªããã¯ã©ã€ã¢ã³ãã®ãã€ãã¬ãŒã·ã§ã³ã¯äžèŠã§ãã
èšäºç®¡çãžé²ããªãå ¬åŒããã°ãã¥ãŒããªã¢ã«ãžãContent Collectionsã¯ãã©ã«ããäœãã ãã§èšå®ãå®äºããæ©èœã§ã¯ãããŸãããloaderãšschemaãå®çŸ©ããŠãã䜿ããŸãããµã€ãéžã³ãæŽçãããå Žåã¯AstroãšNext.jsã®æ¯èŒã確èªã§ããŸãã