Astroãã¤ã³ã¹ãã¼ã«
create astroCLIã³ãã³ãã¯ãæ°ããAstroããã¸ã§ã¯ããã¼ããã使ããæéã®æ¹æ³ã§ãããã®ã³ãã³ãã¯ãæ°ããAstroããã¸ã§ã¯ãã®ã»ããã¢ããã«å¿
è¦ãªãã¹ã¦ã®ã¹ããããã¬ã¤ãããè¤æ°ã®å
¬å¼ã¹ã¿ã¼ã¿ã¼ãã³ãã¬ã¼ããã鏿ã§ããããã«ãã¾ãã
ã¾ããCLIã« template ãã©ã°ãä»ãã¦å®è¡ããã°ãæ¢åã®ãã¼ããã¹ã¿ã¼ã¿ã¼ãã³ãã¬ã¼ãã使ç¨ãã¦ããã¸ã§ã¯ããéå§ã§ãã¾ããããã°ããã¼ããã©ãªãªãããã¥ã¡ã³ããµã¤ããã©ã³ãã£ã³ã°ãã¼ã¸ãªã©ã«åãããã¼ãã¯ããã¼ãã¨ã¹ã¿ã¼ã¿ã¼ãã³ãã¬ã¼ãã®ã·ã§ã¼ã±ã¼ã¹ã§æ¢ãã¾ãã
æåã§Astroãã¤ã³ã¹ãã¼ã«ããå ´åã¯ãã¹ããããã¤ã¹ãããã®æåã¤ã³ã¹ãã¼ã«ã¬ã¤ããåç §ãã¦ãã ããã
ãã©ã¦ã¶ã§Astroã試ãã¦ã¿ããã§ããï¼astro.newã«ã¢ã¯ã»ã¹ããã°ããã©ã¦ã¶ãé¢ãããã¨ãªããã¹ã¿ã¼ã¿ã¼ãã³ãã¬ã¼ãã確èªãã¦æ°ããAstroããã¸ã§ã¯ãã使ã§ãã¾ãã
åææ¡ä»¶
Section titled âåææ¡ä»¶â- Node.js -
v22.12.0以ä¸ãv23ã®ãããªå¥æ°ãã¼ã¸ã§ã³ã¯ãµãã¼ã対象å¤ã§ãã - ããã¹ãã¨ãã£ã¿ - VS Codeã¨å ¬å¼ã®Astroæ¡å¼µæ©è½ã使ããã¨ããããããã¾ãã
- ã¿ã¼ããã« - Astroã«ã¯ã³ãã³ãã©ã¤ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ï¼CLIï¼ãéãã¦ã¢ã¯ã»ã¹ãã¾ãã
ãã©ã¦ã¶ã®äºææ§
Section titled âãã©ã¦ã¶ã®äºææ§âAstroã¯ããã©ã«ãã§ãã¢ãã³ãªJavaScriptããµãã¼ããããã©ã¦ã¶ãã¿ã¼ã²ããã¨ãã¦ãã¾ãã詳細ã«ã¤ãã¦ã¯ãViteããµãã¼ããããã©ã¦ã¶ãã¼ã¸ã§ã³ã®ãªã¹ããåç §ãã¦ãã ããã
CLIã¦ã£ã¶ã¼ãããã¤ã³ã¹ãã¼ã«ãã
Section titled âCLIã¦ã£ã¶ã¼ãããã¤ã³ã¹ãã¼ã«ããâcreate astroã¯ãã·ã³ä¸ã®ã©ãã§ãå®è¡ã§ããããã¸ã§ã¯ããéå§ããåã«æ°ãã空ã®ãã£ã¬ã¯ããªã使ããå¿
è¦ã¯ããã¾ãããæ°ããããã¸ã§ã¯ãã®ããã®ç©ºã®ãã£ã¬ã¯ããªãã¾ã ãªãå ´åãã¦ã£ã¶ã¼ããèªåçã«ä½æãã¾ãã
-
以ä¸ã®ã³ãã³ããã¿ã¼ããã«ã§å®è¡ãã¦ãã¤ã³ã¹ãã¼ã«ã¦ã£ã¶ã¼ããèµ·åãã¾ãã
ã¿ã¼ããã«ã¦ã£ã³ã㦠# npmã§æ°ããããã¸ã§ã¯ãã使npm create astro@latestã¿ã¼ããã«ã¦ã£ã³ã㦠# pnpmã§æ°ããããã¸ã§ã¯ãã使pnpm create astro@latestã¿ã¼ããã«ã¦ã£ã³ã㦠# yarnã§æ°ããããã¸ã§ã¯ãã使yarn create astroåé¡ããªããã°æåã®ã¡ãã»ã¼ã¸ã表示ãããæ¨å¥¨ãããæ¬¡ã®ã¹ããããããã¤ãç¶ãã¾ãã
-
ããã¸ã§ã¯ãã使ãããããæ°ããããã¸ã§ã¯ãã®ãã£ã¬ã¯ããªã«
cdãã¦Astroã使ãå§ãããã¾ãã -
CLIã¦ã£ã¶ã¼ãã§âInstall dependencies?âã®ã¹ããããé£ã°ããå ´åã¯ãä¾åé¢ä¿ãã¤ã³ã¹ãã¼ã«ãã¦ããç¶è¡ãã¦ãã ããã
ã¿ã¼ããã«ã¦ã£ã³ã㦠npm installã¿ã¼ããã«ã¦ã£ã³ã㦠pnpm installã¿ã¼ããã«ã¦ã£ã³ã㦠yarn install -
以ä¸ã«ãããAstroã®éçºãµã¼ãã¼ãèµ·åãã¦ãããã¸ã§ã¯ããã«ã¹ã¿ãã¤ãºããªããã©ã¤ããã¬ãã¥ã¼ã確èªã§ããããã«ãªãã¾ããï¼
CLIã§ã®ã¤ã³ã¹ãã¼ã«æã®ãã©ã°
Section titled âCLIã§ã®ã¤ã³ã¹ãã¼ã«æã®ãã©ã°âcreate astroå®è¡æã«ã¯ã»ããã¢ããã®æµãï¼ãã¹ã¦ã®è³ªåã«ãyesãã¨çãããHoustonã¢ãã¡ã¼ã·ã§ã³ãã¹ããããããªã©ï¼ããæ°ããããã¸ã§ã¯ãã®å
容ï¼Gitã®æç¡ãã¤ã³ãã°ã¬ã¼ã·ã§ã³ã®è¿½å ãªã©ï¼ãå¤ãããã©ã°ãä»ãããã¾ãã
create astroã®ãã©ã°ä¸è¦§ãåç
§ãã¦ãã ããã
ã¤ã³ãã°ã¬ã¼ã·ã§ã³ã追å ãã
Section titled âã¤ã³ãã°ã¬ã¼ã·ã§ã³ã追å ããâcreate astroã«--addãä»ããã¨ãæ°è¦ããã¸ã§ã¯ãã®ä½æã¨åæã«astro addã«å¯¾å¿ããå
¬å¼ã®ã¤ã³ãã°ã¬ã¼ã·ã§ã³Â (EN)ã¾ãã¯ã³ãã¥ããã£ã®ã¤ã³ãã°ã¬ã¼ã·ã§ã³ã追å ã§ãã¾ãã
以ä¸ã®ã³ãã³ãã使ãããã¤ã³ãã°ã¬ã¼ã·ã§ã³åã«ç½®ãæãã¦å®è¡ãã¾ãã
# Reactã¨Partytownä»ãã§æ°ããããã¸ã§ã¯ãã使npm create astro@latest -- --add react --add partytown# Reactã¨Partytownä»ãã§æ°ããããã¸ã§ã¯ãã使pnpm create astro@latest --add react --add partytown# Reactã¨Partytownä»ãã§æ°ããããã¸ã§ã¯ãã使yarn create astro --add react --add partytownãã¼ããã¹ã¿ã¼ã¿ã¼ãã³ãã¬ã¼ãã使ç¨ãã
Section titled âãã¼ããã¹ã¿ã¼ã¿ã¼ãã³ãã¬ã¼ãã使ç¨ããâcreate astroã«--templateãä»ããã¨ãå
¬å¼ã®ãã³ãã¬ã¼ããä»»æã®GitHubãªãã¸ããªã®mainãã©ã³ããå
ã«ããã¸ã§ã¯ããå§ãããã¾ãã
å ¬å¼ã¹ã¿ã¼ã¿ã¼ãã³ãã¬ã¼ãåãã¾ãã¯ä½¿ããããã¼ãã®GitHubã®ã¦ã¼ã¶åã¨ãªãã¸ããªåã«ç½®ãæãã¦å®è¡ãã¾ãã
# å
¬å¼ã®ãã³ãã¬ã¼ãã§æ°ããããã¸ã§ã¯ãã使npm create astro@latest -- --template <example-name>
# GitHubãªãã¸ããªã®mainãã©ã³ããå
ã«æ°ããããã¸ã§ã¯ãã使npm create astro@latest -- --template <github-username>/<github-repo># å
¬å¼ã®ãã³ãã¬ã¼ãã§æ°ããããã¸ã§ã¯ãã使pnpm create astro@latest --template <example-name>
# GitHubãªãã¸ããªã®mainãã©ã³ããå
ã«æ°ããããã¸ã§ã¯ãã使pnpm create astro@latest --template <github-username>/<github-repo># å
¬å¼ã®ãã³ãã¬ã¼ãã§æ°ããããã¸ã§ã¯ãã使yarn create astro --template <example-name>
# GitHubãªãã¸ããªã®mainãã©ã³ããå
ã«æ°ããããã¸ã§ã¯ãã使yarn create astro --template <github-username>/<github-repo>ããã©ã«ãã§ã¯ãã³ãã¬ã¼ããªãã¸ããªã®mainãã©ã³ãã使ããã¾ããå¥ãã©ã³ãã«ããå ´åã¯--templateã«<github-username>/<github-repo>#<branch>ã®å½¢ã§æå®ãã¾ãã
æåã»ããã¢ãã
Section titled âæåã»ããã¢ããâãã®ã¬ã¤ãã§ã¯ãæ°ããAstroããã¸ã§ã¯ããæåã§ã¤ã³ã¹ãã¼ã«ãã¦è¨å®ããæé ã«ã¤ãã¦èª¬æãã¾ãã
create astro CLIãã¼ã«ã使ç¨ããããªãå ´åã¯ã以ä¸ã®ã¬ã¤ãã«å¾ã£ã¦èªåã§ããã¸ã§ã¯ããè¨å®ãã¦ãã ããã
-
ãã£ã¬ã¯ããªã使ãã
æ°ããããã¸ã§ã¯ãã®ååã§ç©ºã®ãã£ã¬ã¯ããªã使ãããã®ãã£ã¬ã¯ããªã«ç§»åãã¾ãã
ã¿ã¼ããã«ã¦ã£ã³ã㦠mkdir my-astro-projectcd my-astro-projectæ°ãããã£ã¬ã¯ããªã«ç§»åããããããã¸ã§ã¯ãã®
package.jsonãã¡ã¤ã«ã使ãã¾ããããã«ãããAstroãªã©ã®ããã¸ã§ã¯ãã®ä¾åé¢ä¿ã管çãã¾ãããã®ãã¡ã¤ã«å½¢å¼ã«ä¸æ £ããªå ´åã¯ã以ä¸ã®ã³ãã³ããå®è¡ãã¦ä½æãããã¨ãå¯è½ã§ããã¿ã¼ããã«ã¦ã£ã³ã㦠npm init --yesã¿ã¼ããã«ã¦ã£ã³ã㦠pnpm initã¿ã¼ããã«ã¦ã£ã³ã㦠yarn init --yes -
Astroãã¤ã³ã¹ãã¼ã«ãã
ã¾ããAstroããã¸ã§ã¯ãã®ä¾åé¢ä¿ãããã¸ã§ã¯ãã«ã¤ã³ã¹ãã¼ã«ãã¾ãã
Astroã¯ã°ãã¼ãã«ã§ã¯ãªããã¼ã«ã«ã«ã¤ã³ã¹ãã¼ã«ããå¿ è¦ãããã¾ãã
npm install -g astroãpnpm add -g astroãyarn add global astroãå®è¡ããªãããã«ãã¦ãã ãããã¿ã¼ããã«ã¦ã£ã³ã㦠npm install astroã¿ã¼ããã«ã¦ã£ã³ã㦠pnpm add astroã¿ã¼ããã«ã¦ã£ã³ã㦠yarn add astroç¶ãã¦ã
package.jsonã®ãscriptsãã»ã¯ã·ã§ã³ã«ãããã¬ã¼ã¹ãã«ãã¼ã以ä¸ã®å 容ã«ç½®ãæãã¾ããpackage.json {"scripts": {"test": "echo \"Error: no test specified\" && exit 1","dev": "astro dev","build": "astro build","preview": "astro preview"},}ãã¨ã§ãã®ã¹ã¯ãªããã使ç¨ãã¦Astroãèµ·åãããããã®ä»ã®ã³ãã³ããå®è¡ããããã¾ãã
-
æåã®ãã¼ã¸ã使ãã
ããã¹ãã¨ãã£ã¿ã§ããã£ã¬ã¯ããªå ã®
src/pages/index.astroã«æ°ãããã¡ã¤ã«ã使ãã¾ãããããããã¸ã§ã¯ãã®æåã®Astroãã¼ã¸ã«ãªãã¾ãããã®ã¬ã¤ãã§ã¯ã以ä¸ã®ã³ã¼ãã¹ããããï¼
---ããã·ã¥ãå«ãï¼ãæ°ãããã¡ã¤ã«ã«ã³ãã¼ãã¦è²¼ãä»ãã¾ããsrc/pages/index.astro ---// Astroã«ããããï¼ãã®3ã¤ã®ãã¤ãã³ã®ã³ã¼ããã§ã³ã¹ã®ä¸ã«ãããã®ã¯ã// ãã³ã³ãã¼ãã³ãã®ããã³ããã¿ã¼ãã§ãããã©ã¦ã¶ã§å®è¡ããããã¨ã¯ããã¾ãããconsole.log('ããã¯ãã©ã¦ã¶ã§ã¯ãªããã¿ã¼ããã«ã§å®è¡ããã¾ãï¼');---<!-- 以ä¸ã¯ãã³ã³ãã¼ãã³ããã³ãã¬ã¼ããã§ããåãªãHTMLã§ãããç´ æ´ããããã³ãã¬ã¼ãã使ããããã®éæ³ãæ£ãã°ãããã¦ãã¾ãã --><html><body><h1>Hello, World!</h1></body></html><style>h1 {color: orange;}</style> -
æåã®éçã¢ã»ããã使ãã
public/ãã£ã¬ã¯ããªã使ãã¦éçã¢ã»ãããä¿åããå¿ è¦ãããã§ããããAstroã¯ã常ã«ãããã®ã¢ã»ããããã«ãçµæã«å«ãããããã³ã³ãã¼ãã³ããã³ãã¬ã¼ãå ããå®å ¨ã«åç §ã§ãã¾ããããã¹ãã¨ãã£ã¿ã§ããã£ã¬ã¯ããªå ã®
public/robots.txtã«æ°ãããã¡ã¤ã«ã使ãã¾ããrobots.txtã¯ãGoogleãªã©ã®æ¤ç´¢ãããã«ãµã¤ãã®æ±ãæ¹ãä¼ããããã«ãå¤ãã®ãµã¤ããå©ç¨ãã¦ããã·ã³ãã«ãªãã¡ã¤ã«ã§ãããã®ã¬ã¤ãã§ã¯ã以ä¸ã®ã³ã¼ãã¹ãããããæ°ãããã¡ã¤ã«ã«ã³ãã¼ãã¦è²¼ãä»ãã¾ãã
public/robots.txt # ä¾: ãã¹ã¦ã®ãããã«ãµã¤ãã®ã¹ãã£ã³ã¨ã¤ã³ããã¯ã¹ã許å¯ãã¾ãã# å®å ¨ãªæ§æ: https://developers.google.com/search/docs/advanced/robots/create-robots-txtUser-agent: *Allow: / -
astro.config.mjsã使ããastro.config.mjsã«ããAstroãè¨å®ãã¾ããAstroã®è¨å®ããããªããªãå ´åãã®ãã¡ã¤ã«ã¯ä¸è¦ã§ãããä»ä½æãã¦ããã¨ä¾¿å©ã§ããããã¸ã§ã¯ãã®ã«ã¼ãã«
astro.config.mjsã使ãã以ä¸ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãã¾ããastro.config.mjs import { defineConfig } from "astro/config";// https://astro.build/configexport default defineConfig({});ReactãSvelteãªã©ã®UIãã¬ã¼ã ã¯ã¼ã¯ã³ã³ãã¼ãã³ããã¾ãã¯MDXãPartytownãªã©ä»ã®ãã¼ã«ãããã¸ã§ã¯ãã§ä½¿ç¨ããå ´åã¯ãããã«æåã§ã¤ã³ãã°ã¬ã¼ã·ã§ã³ãã¤ã³ãã¼ããã¦è¨å®Â (EN)ãããã¨ã«ãªãã¾ãã
Astroã®APIè¨å®ãªãã¡ã¬ã³ã¹Â (EN)ãèªã¿ã詳細ã確èªãã¦ãã ããã -
TypeScriptãµãã¼ãã追å ãã
tsconfig.jsonã使ç¨ãã¦TypeScriptãè¨å®ãã¾ããTypeScriptã®ã³ã¼ããæ¸ããªãå ´åã§ããAstroãVS Codeãªã©ã®ãã¼ã«ãããã¸ã§ã¯ããçè§£ããæ¹æ³ãç¥ãããã«ããã®ãã¡ã¤ã«ã¯éè¦ã§ããtsconfig.jsonãã¡ã¤ã«ããªããã°ãã¨ãã£ã¿ä¸ã§ã®npmããã±ã¼ã¸ã®ã¤ã³ãã¼ããªã©ãä¸é¨ã®æ©è½ãå®å ¨ã«ã¯ãµãã¼ãããã¾ãããTypeScriptã³ã¼ããæ¸ãäºå®ãããå ´åã¯ãAstroã®
strictã¾ãã¯strictestãã³ãã¬ã¼ãã使ç¨ãããã¨ããããããã¾ãã3種é¡ã®è¨å®ç¨ãã³ãã¬ã¼ãã¯astro/tsconfigs/ã§ç¢ºèªã§ãã¾ããããã¸ã§ã¯ãã®ã«ã¼ãã«
tsconfig.jsonã使ãã以ä¸ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãã¾ããï¼baseãstrictãstrictestã®3種é¡ã®TypeScriptãã³ãã¬ã¼ãã使ç¨ã§ãã¾ãï¼tsconfig.json {"extends": "astro/tsconfigs/base"}Astroã®TypeScriptã»ããã¢ããã¬ã¤ããèªã¿ã詳細ã確èªãã¦ãã ããã -
次ã®ã¹ããã
以ä¸ã®æé ã«å¾ã£ãå ´åãããã¸ã§ã¯ããã£ã¬ã¯ããªã¯ä»¥ä¸ã®ããã«ãªã£ã¦ããã¯ãã§ãã
ãã£ã¬ã¯ããªnode_modules/
- â¦
ãã£ã¬ã¯ããªpublic/
- robots.txt
ãã£ã¬ã¯ããªsrc/
ãã£ã¬ã¯ããªpages/
- index.astro
- astro.config.mjs
- package-lock.jsonã¾ãã¯
yarn.lockãpnpm-lock.yamlãªã© - package.json
- tsconfig.json
-
以ä¸ã«ãããAstroã®éçºãµã¼ãã¼ãèµ·åãã¦ãããã¸ã§ã¯ãã®ã©ã¤ããã¬ãã¥ã¼ã確èªã§ããããã«ãªãã¾ããï¼