ã¢ããªã®ãããã¤
ã·ãªã¼ãºã®æå¾ã®è¨äºã§ã¯ãåã®è¨äºã§æ§ç¯ãããµã³ãã«ãã¼ã«ãã§ã¼ã³ãåãä¸ãããµã³ãã«ã¢ããªããããã¤ã§ããããã«ããã«è¿½å ãã¾ãã ã³ã¼ãã GitHub ã«ããã·ã¥ãã GitHub Pages ã使ç¨ãã¦ãããã¤ããããã»ã¹ã«ç°¡åãªãã¹ãã追å ããæ¹æ³ã示ãã¾ãã
| åææ¡ä»¶ï¼ | 主è¦ãª HTMLãCSSã㨠JavaScript è¨èª |
|---|---|
| ç®çï¼ | ã¢ããªã®ãããã¤ã«ç¦ç¹ãå½ã¦ã¦ãå®å ¨ãªãã¼ã«ãã§ã¼ã³ã®ã±ã¼ã¹ã¹ã¿ãã£ã®ä½æ¥ãå®äºãã¾ãã |
éçºå¾
ããã¸ã§ã¯ãã®ã©ã¤ããµã¤ã¯ã«ã®ãã®ã»ã¯ã·ã§ã³ã§ã¯ã解決ãã¹ãåºç¯å²ã®åé¡ãæ½å¨çã«åå¨ãã¾ãã ãããã£ã¦ãæåä»å ¥ãã§ããã ãå°ãªãããæ¹æ³ã§ãããã®åé¡ãå¦çãããã¼ã«ãã§ã¼ã³ã使ãããã¨ãéè¦ã§ãã
ãã®ç¹å®ã®ããã¸ã§ã¯ãã«é¢ãã¦èæ ®ãã¹ãç¹ãããã¤ãããã¾ãã
- å®ç¨¼åãã«ãã®çæ: ãã¡ã¤ã«ãæå°åããããã£ã³ã¯åãããããªã¼ã·ã§ã¤ã¯ãé©ç¨ããããã¼ã¸ã§ã³ãããã£ãã·ã¥ãç¡å¹åãããã¦ãããã¨ã確èªãã¾ãã
- ãã¹ãã®å®è¡: ãã¹ãã®ç¯å²ã¯ãããã®ã³ã¼ãã¯é©åã«ãã©ã¼ãããããã¦ãã¾ãã?ããªã©ã§ãããããã¯æå¾ ã©ããã®åä½ãããã?ãã¨ãããã¨ã確èªãããã¹ãã失æãããã¨ã確èªããã¨å±éã妨ãããã¾ãã
- æ´æ°ãããã³ã¼ããå®éã«ã©ã¤ããããã¤ãã URL: ã¾ãã¯ãæåã«ç¢ºèªã§ããããã«ã¹ãã¼ã¸ã³ã° URL ã«ãããã¤ãããã¨ãã§ãã¾ãã
ã¡ã¢ï¼ ãã£ãã·ã¥ç¡å¹åã¯ããã®ã¢ã¸ã¥ã¼ã«ã§ã¯ããã¾ã§ã«è¦ããã¨ã®ãªãæ°ããç¨èªã§ããããã¯ãã©ã¦ã¶ã¼èªä½ã®ãã£ãã·ã¥ã¡ã«ããºã ãç ´å£ããæ¦ç¥ã§ããããã©ã¦ã¶ã¼ã«ã³ã¼ãã®æ°ããã³ãã¼ãå¼·å¶çã«ãã¦ã³ãã¼ãããã¾ãã Vite ï¼ããã¦å®éã«ã¯ä»ã®å¤ãã®ãã¼ã«ï¼ã¯ãæ°ãããã«ããã¨ã«ä¸æã®ãã¡ã¤ã«åãçæãã¾ãããã®ä¸æã®ãã¡ã¤ã«åã¯ãã©ã¦ã¶ã¼ã®ãã£ãã·ã¥ããç ´æ£ããããããã¤ãããã³ã¼ããæ´æ°ããããã³ã«ãã©ã¦ã¶ã¼ãæ°ããã³ã¼ãããã¦ã³ãã¼ãããããã«ãã¾ãã
ä¸è¨ã®ã¿ã¹ã¯ã¯ããã«å¥ã®ã¿ã¹ã¯ã«åå²ããã¾ããã»ã¨ãã©ã®ã¦ã§ãéçºãã¼ã ã¯ãéçºå¾ã®ãã§ã¼ãºã®å°ãªãã¨ãä¸é¨ã«ã¤ãã¦ç¬èªã®æ¡ä»¶ã¨ããã»ã¹ãæã£ã¦ãããã¨ã«æ³¨æãã¦ãã ããã
ãã®ããã¸ã§ã¯ãã§ã¯ã GitHub Pages ã®ç´ æ´ãããéçãã¹ãã£ã³ã°ãµã¼ãã¹ã使ç¨ãã¦ããã¸ã§ã¯ãããã¹ããã¾ããããã¯ãã¤ã³ã¿ã¼ãããä¸ã§ã¦ã§ããµã¤ããæä¾ãã¦ããã ãã§ãªããã¦ã§ããµã¤ãã¸ã® URL ãä¸ãã¦ããã¾ããããã¯ç´ æ´ããããã¨ã§ããMDN ã®ä¾ç¤ºç¨ã¦ã§ããµã¤ãã®å¤ã㯠GitHub Pages ã§ãã¹ãããã¦ãã¾ãã
ãã¹ãã£ã³ã°ã¸ã®ãããã¤ã¯ããã¸ã§ã¯ãã®ã©ã¤ããµã¤ã¯ã«ã®æå¾ã«ãªãå¾åãããã¾ããã GitHub Pages ãªã©ã®ãµã¼ãã¹ã使ç¨ããã¨ããããã¤ã®ã³ã¹ã(ééé¢ã¨å®éã®ãããã¤ã«å¿ è¦ãªæéã®ä¸¡æ¹)ã忏ãããéçºä¸ã«ãããã¤ãããã¨ãå¯è½ã«ãªãã¾ããé²è¡ä¸ã®ä½æ¥ãå ±æããããä»ã®ç®çã§ãã¬ãªãªã¼ã¹ãããã®ããããã§ãã
GitHub ã¯ãæ°ããã³ã¼ããå®éã®ã¦ã§ããµã¤ãã«å¤æããããã®ã¹ã ã¼ãºãªã¯ã¼ã¯ããã¼ãæä¾ãã¦ãã¾ãã
- ã³ã¼ãã GitHub ã«ããã·ã¥ãã¾ãã
- ã¡ã¤ã³ãã©ã³ãã«æ°ããããã·ã¥ããã£ãã¨ãã«çºçãã GitHub Action ãå®ç¾©ããã³ã¼ãããã«ããã¦ç¹å®ã®å ´æã«é ç½®ãã¾ãã
- GitHub Pages ã¯ããã®ã³ã¼ããç¹å®ã® URL ã§æä¾ãã¾ãã
ç¬èªã®ãã«ããã¼ã«ãã§ã¼ã³ã決å®ããéã«æ¢ããã¨ããå§ãããã®ã¯ãã¾ãã«ãã®ç¨®ã®æ¥ç¶ããããµã¼ãã¹ã§ããã³ã¼ããã³ãããã㦠GitHub ã«ããã·ã¥ããã¨ãæ´æ°ãããã³ã¼ãã«ãã£ã¦ãã«ãã«ã¼ãã³å ¨ä½ãèªåçã«ããªã¬ã¼ããã¾ãããã¹ã¦åé¡ããªããã°ãã©ã¤ã夿´ãèªåçã«ãããã¤ããã¾ããå®è¡ããå¿ è¦ãããã¢ã¯ã·ã§ã³ã¯ãæåã®ãããã·ã¥ãã ãã§ãã
ãã ãããããã®æé ãè¨å®ããå¿ è¦ãããã®ã§ãããã«ã¤ãã¦ã¯ããããè¦ã¦ããã¾ãã
ãã«ãããã»ã¹
ç¹°ãè¿ãã«ãªãã¾ãããéçºã«ã¯ Vite ã使ç¨ãã¦ããããããã«ããªãã·ã§ã³ã®è¿½å ã¯é常ã«ç°¡åã§ããåè¿°ã®ããã«ãéçºãæ¤æ»ã®ç®çã§å®è¡ããã ãã§ãªããVite ãæ¬çªç¨ã«ãã¹ã¦ã®æºåãè¡ãç¬èªã® npm run build ã¹ã¯ãªããããã§ã«æå®ããã¦ãã¾ããããã«ã¯ãã³ã¼ãã®ãããã£ã±ã¼ã·ã§ã³ããã³ããªã¼ã·ã§ã¤ã¯ããã¡ã¤ã«åã®ãã£ãã·ã¥ç ´æ£ãå«ã¾ãã¾ãã
ããã¸ã§ã¯ãã§ã¯å¸¸ã« build ã¹ã¯ãªãããå®ç¾©ãã¦ãããã¨ããã¹ããã©ã¯ãã£ã¹ã§ãããããããã¨ã§ãããããã®ããã¸ã§ã¯ãã«åºæã®ãã«ãã³ãã³ãã®å¼æ°ãè¦ãã¦ããå¿
è¦ããªããnpm run build ãå®è¡ããã ãã§ã常ã«å®å
¨ãªãã«ã段éãå®è¡ãããã¨ãã§ãã¾ãã
æ°ãã使ãããå®ç¨¼åã³ã¼ãã¯ã dist ã¨ããæ°ãããã£ã¬ã¯ããªã¼ã«é
ç½®ããã¾ãããã®ãã£ã¬ã¯ããªã¼ã«ã¯ãã¦ã§ããµã¤ããå®è¡ããããã«å¿
è¦ãªãã¹ã¦ã®ãã¡ã¤ã«ãå«ã¾ãã¦ãããããã«ãµã¼ãã¼ã«ã¢ãããã¼ãã§ãã¾ãã
ãã ãããã®ã¹ããããæåã§å®è¡ãããã¨ãæçµçãªç®çã§ã¯ããã¾ãããç§ãã¡ãæãã§ããã®ã¯ããã«ããèªåçã«è¡ããã dist ãã£ã¬ã¯ããªã¼ã®çµæãã¦ã§ããµã¤ãã«ã©ã¤ãã§ãããã¤ããããã¨ã§ãã
GitHub ã¸ã®å¤æ´ã®ã³ããã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãã³ã¼ãã git ãªãã¸ããªã¼ã«ä¿åããã¾ã§ã®æé ã説æãã¾ããããã㯠git ãã¥ã¼ããªã¢ã«ã¨ã¯ç¨é ããã®ã§ããåªãããã¥ã¼ããªã¢ã«ãæ¸ç±ãæ°å¤ãæä¾ããã¦ããã Git and GitHub ãã¼ã¸ããå§ããã®ãé©ãã¦ãã¾ãã
å ã»ã©ä½æ¥ãã£ã¬ã¯ããªã¼ã git 使¥ãã£ã¬ã¯ããªã¼ã¨ãã¦åæåãã¾ããããããç°¡åã«ç¢ºèªããã«ã¯ã次ã®ã³ãã³ããå®è¡ãã¾ãã
git status
ã©ã®ãã¡ã¤ã«ã追跡ããã¦ããããã©ã®ãã¡ã¤ã«ãã¹ãã¼ã¸ã³ã°ããã¦ããããªã©ã®ã¹ãã¼ã¿ã¹ã¬ãã¼ããåå¾ããå¿
è¦ãããã¾ãããããã®ç¨èªã¯ãã¹ã¦ git ææ³ã®ä¸é¨ã§ãã fatal: not a git repository ã¨ããã¨ã©ã¼ãè¿ãããå ´åã使¥ãã£ã¬ã¯ããªã¼ã¯ git 使¥ãã£ã¬ã¯ããªã¼ã§ã¯ãªãããã git init ã使ç¨ã㦠git ãåæåããå¿
è¦ãããã¾ãã
ä»ãç§ãã¡ã®åã«ã¯ 3 ã¤ã®ã¿ã¹ã¯ãããã¾ãã
- ã¹ãã¼ã¸ã«å ãã夿´ã追å ãã¾ã( git ããã¡ã¤ã«ãã³ãããããå ´æã®ç¹å¥ãªåå)ã
- 夿´ããªãã¸ããªã¼ã«ã³ããããã¾ãã
- 夿´ã GitHub ã«ããã·ã¥ãã¾ãã
-
夿´ã追å ããã«ã¯ã次ã®ã³ãã³ããå®è¡ãã¾ãã
bashgit add .æå¾ã®ããªãªãã«æ³¨æãã¦ãã ãããããã¯ããã®ãã£ã¬ã¯ããªã¼å ã®ãã¹ã¦ããæå³ãã¾ãã
git add .ã³ãã³ãã¯ãå°ãå¼·åãªã¢ããã¼ãã§ããããã¾ã§ã«è¡ã£ããã¹ã¦ã®ãã¼ã«ã«å¤æ´ãä¸åº¦ã«è¿½å ãã¾ãã追å ãããã®ãããç´°ããå¶å¾¡ãããå ´åã¯ã対話åããã»ã¹ã«git add -pã使ç¨ããããgit add path/to/fileã使ç¨ãã¦åã ã®ãã¡ã¤ã«ã追å ãã¾ãã -
ããã§ãã¹ã¦ã®ã³ã¼ããã¹ãã¼ã¸ã³ã°ãããã³ãããã§ããããã«ãªãã¾ããã æ¬¡ã®ã³ãã³ããå®è¡ãã¾ãã
bashgit commit -m 'committing initial code'ã¡ã¢: ã³ãããã¡ãã»ã¼ã¸ã«ã¯èªç±ã«ä½ãæ¸ãè¾¼ãã§ãæ§ãã¾ããããé©åãªã³ãããã¡ãã»ã¼ã¸ã«é¢ããå½¹ç«ã¤ãã³ããã¦ã§ãä¸ã«ããã¤ãããã¾ãã夿´ã®å 容ãæç¢ºã«èª¬æã§ããããã«ãçãç°¡æ½ã«èª¬æããããã«ãã¦ãã ããã
-
æå¾ã«ã³ã¼ãã GitHub ã§ãã¹ãããã¦ãããªãã¸ããªã¼ã«ããã·ã¥ããå¿ è¦ãããã¾ããä»ãããããã¾ãããã
GitHub ã§ https://github.com/new ã«ã¢ã¯ã»ã¹ãããã®ã³ã¼ãããã¹ãããç¬èªã®ãªãã¸ããªã¼ã使ãã¾ãã
-
ãªãã¸ããªã¼ã«ã¹ãã¼ã¹ãå«ã¾ãªãçãã¦è¦ããããåå (åèªãåºåãã«ã¯ãã¤ãã³ã使ç¨ãã¾ã) ã¨èª¬æãä»ãã¦ããã¼ã¸ã®ä¸é¨ã«ãã Create repository ãã¯ãªãã¯ãã¾ãã
ããã§ãæ°ãã GitHub ãªãã¸ããªã¼ãæãããªã¢ã¼ãã URL ã使ãããã¯ãã§ãã

-
ãã®ãªã¢ã¼ããã±ã¼ã·ã§ã³ã¯ãããã«ããã·ã¥ããåã«ããã¼ã«ã« git ãªãã¸ããªã¼ã«è¿½å ããå¿ è¦ãããã¾ããããããªãã¨ããã®ãã±ã¼ã·ã§ã³ãè¦ã¤ãããã¨ãã§ãã¾ãããæ¬¡ã®æ§é ãæã¤ã³ãã³ããå®è¡ããå¿ è¦ãããã¾ã (ããã§ã¯ãç¹ã« GitHub ãåãã¦ä½¿ç¨ããå ´åã¯ãSSH ãªãã·ã§ã³ã§ã¯ãªããæå®ããã HTTPS ãªãã·ã§ã³ã使ç¨ãã¦ãã ãã)ã
bashgit remote add origin https://github.com/your-name/repo-name.gitãããã£ã¦ãä¸ã®ã¹ã¯ãªã¼ã³ã·ã§ããã®ããã«ãããªã¢ã¼ãã URL ã
https://github.com/remy/super-website.gitã®å ´åãã³ãã³ãã¯æ¬¡ã®ããã«ãªãã¾ããbashgit remote add origin https://github.com/remy/super-website.gitURL ãç¬èªã®ãªãã¸ããªã¼ã«å¤æ´ããä»ããå®è¡ãã¾ãã
ã¡ã¢: ãªãã¸ããªã¼ã®ååãé¸ãã å¾ãåç« ã§è¿°ã¹ãããã«ã
vite.config.jsã®baseãªãã·ã§ã³ããã®ååãåæ ãã¦ãããã¨ã確èªãã¦ãã ãããããããªãã¨ãJavaScript ããã³ CSS è³ç£ãæ£ãããªã³ã¯ããã¾ããã -
ããã§ãã³ã¼ãã GitHub ã«ããã·ã¥ããæºåãæ´ãã¾ãããä»ããæ¬¡ã®ã³ãã³ããå®è¡ãã¾ãã
bashgit push origin mainãã®æç¹ã§ã Git ãããã·ã¥ã®éä¿¡ã許å¯ããåã«ãã¦ã¼ã¶ã¼åã¨ãã¹ã¯ã¼ãã®å ¥åãæ±ãããã¾ããããã¯ãåã®ã¹ã¯ãªã¼ã³ã·ã§ããã«è¦ãããããã«ã SSH ãªãã·ã§ã³ã§ã¯ãªã HTTPS ãªãã·ã§ã³ã使ç¨ããããã§ãããã®ããã«ã¯ã GitHub ã¦ã¼ã¶ã¼åãå¿ è¦ã§ããæ¬¡ã«ã 2 è¦ç´ èªè¨¼ (2FA) ãæå¹ã«ãªã£ã¦ããªãå ´åã¯ã GitHub ãã¹ã¯ã¼ããå¿ è¦ã§ããå¯è½ã§ããã° 2FA ã使ç¨ãããã¨ã常ã«ãå§ããã¾ããããã®å ´åã¯ãå人ã¢ã¯ã»ã¹ãã¼ã¯ã³ãã使ç¨ããå¿ è¦ããããã¨ã«æ³¨æãã¦ãã ããã GitHub ã®ãã«ããã¼ã¸ã«ã¯ããã®å ¥ææ¹æ³ã説æããåªããç°¡åãªãã¥ã¼ããªã¢ã«ãè¨è¼ããã¦ãã¾ãã
ã¡ã¢: SSH ãªãã·ã§ã³ã使ç¨ãã¦ãGitHub ã«ããã·ã¥ãããã³ã«ã¦ã¼ã¶ã¼åã¨ãã¹ã¯ã¼ããå ¥åããå¿ è¦ããªãããã¨ã«èå³ãããå ´åã¯ã ãã®ãã¥ã¼ããªã¢ã«ã§ãã®æ¹æ³ã説æãã¾ã ã
ãã®æå¾ã®ã³ãã³ãã¯ãgit ã«ããã©ã³ã main ã使ç¨ãã¦ãorigin ã¨åä»ããããªã¢ã¼ããã®å ´æã«ã³ã¼ããããã·ã¥ããããã«æç¤ºãã¾ã (ãã㯠github.com ã§ãã¹ãããã¦ãããªãã¸ããªã¼ã§ãã好ããªååã«åä»ãããã¨ãã§ãã¾ã)ãããã¾ã§ãã©ã³ãã«ã¤ãã¦ã¯ã¾ã£ãã触ãã¦ãã¾ãããã "main" ãã©ã³ãã¯ãç§ãã¡ã®ä½æ¥ã®ããã®æ¢å®ã®å ´æã§ãããgit ãèµ·åããå ´æã§ãããã¾ããã¦ã§ããµã¤ããæ§ç¯ããããã«ããªã¬ã¼ãããæªç½®ãå®ç¾©ããã¨ãããã®æªç½®ã "main" ãã©ã³ãã®å¤æ´ãç£è¦ããããã«ãã¾ãã
ã¡ã¢:
2020 å¹´ 10 æã¾ã§ãGitHub ã®ããã©ã«ããã©ã³ã㯠master ã§ãããããã¾ãã¾ãªç¤¾ä¼ççç±ã«ãã main ã«å¤æ´ããã¾ããããã®å¤ãããã©ã«ããã©ã³ãã¯ãééãããã¾ãã¾ãªããã¸ã§ã¯ãã§ç¾ããå¯è½æ§ããããã¨ã«æ³¨æãã¦ãã ããããã ããç¬èªã®ããã¸ã§ã¯ãã«ã¯ main ã使ç¨ãããã¨ããå§ããã¾ãã
ããã¸ã§ã¯ãã Git ã§ã³ãããããGitHub ãªãã¸ããªã¼ã«ããã·ã¥ãããããã¼ã«ãã§ã¼ã³ã®æ¬¡ã®ã¹ãããã¯ãããã¸ã§ã¯ããã©ã¤ãã§ã¦ã§ãä¸ã«ãããã¤ã§ããããã«ãããã¨ã§ãã
ãããã¤ã« GitHub Actions ã使ç¨ãã
GitHub Actions ã¯ãESLint ã®è¨å®ã¨åæ§ã«ãæãä¸ããã¹ãæ·±ãåéã§ããæåã®è©¦ã¿ã§é©åãªè¨å®ãè¡ããã¨ã¯å®¹æã§ã¯ããã¾ãããããéçã¦ã§ããµã¤ããæ§ç¯ãã GitHub Pages ã«å±éãã¨ãã£ãä¸è¬çãªèª²é¡ã«ã¤ãã¦ã¯ãã³ãã¼ãã¦è²¼ãä»ãããã¨ãã§ããä¾ãããããããã¾ããç¬èªã® GitHub Actions ã¯ã¼ã¯ããã¼ã«ããå ¬éã®æé ã«å¾ã£ã¦ãã ãããåä½ä¾ã«ã¤ãã¦ã¯ã GitHub Action ãã¡ã¤ã« ã調ã¹ãã¨ããã§ãããã(ãã¡ã¤ã«åã¯ä»»æã§ãã)
ãã®ãã¡ã¤ã«ãã¡ã¤ã³ãã©ã³ãã«ã³ãããããå¾ãã³ãããã¿ã¤ãã«ã®æ¨ªã«å°ããªç·è²ã®ãã§ãã¯ãã¼ã¯ã表示ããã¾ãã

é»è²ã®ãããã表示ããã¦ããå ´åã¯ããã®ã¢ã¯ã·ã§ã³ãå®è¡ä¸ã§ãããã¨ãæå³ãã赤ãååã表示ããã¦ããå ´åã¯ããã®ã¢ã¯ã·ã§ã³ã失æãããã¨ãæå³ãã¾ããã¢ã¤ã³ã³ãã¯ãªãã¯ããã¨ããèªèº«ã§å®è¡ãããã«ã使¥ï¼ãã®ä¾ã§ã¯ "Deploy build" ã¨ããååä»ãï¼ã®ã¹ãã¼ã¿ã¹ã¨ãã°ã確èªã§ãã¾ãã
ããã«æ°åå¾
ã£ãå¾ã GitHub Pages ã® URL ã«ã¢ã¯ã»ã¹ãã¦ãèªåã®ã¦ã§ããµã¤ããã¦ã§ãä¸ã§å
¬éããã¦ãããã¨ã確èªã§ãã¾ãããªã³ã¯ã¯ https://<your-name>.github.io/<repo-name> ã®ããã«ãªãã¾ãããã®ä¾ã§ã¯ã https://mdn.github.io/client-toolchain-example/ ã§ãã
ããã§ããã¼ã«ãã§ã¼ã³ã®æå¾ã®ãªã³ã¯ãã³ã¼ããåä½ãããã¨ã確èªãããã¹ãã«ç§»ãã¾ãã
ãã¹ã
ãã¹ãèªä½ã¯ãããã³ãã¨ã³ãéçºã®é åå ã§ãã£ã¦ããåºå¤§ãªãã¼ãã§ããããã¸ã§ã¯ãã«åæãã¹ãã追å ããæ¹æ³ã¨ããã®ãã¹ãã使ç¨ãã¦ããã¸ã§ã¯ãã®ãããã¤ã¡ã³ãã®çºçã鲿¢ã¾ãã¯è¨±å¯ããæ¹æ³ã説æãã¾ãã
ãã¹ãã«è¿ã¥ãã¨ããåé¡ã«å¯¾å¦ããæ¹æ³ã¯ããããããã¾ãã
- ã¨ã³ããã¼ã¨ã³ãã®ãã¹ãã訪åè ãä½ããã¯ãªãã¯ããã¨ãå¥ã®ãã¨ãèµ·ããã¾ãã
- çµ±åãã¹ããåºæ¬çã«ã¯ããããã³ã¼ããããã¯ãå¥ã®ãããã¯ã«æ¥ç¶ããã¦ãæ©è½ãããã©ãããããã¹ããã¾ãã
- ã¦ããããã¹ããæ©è½ã®å°ããªç¹å®ã®ãããããã¹ããã¦ãæå¾ ã©ããã«åä½ãããã©ããã確èªãã¾ãã
- ãã®ä»ã«ãå¤ãã®ç¨®é¡ãã¹ããããã¾ããã¾ã夿°ã®æç¨ãªãã¹ãæ å ±ã«ã¤ãã¦ã¯ãã¯ãã¹ãã©ã¦ã¶ã¼ãã¹ãã¢ã¸ã¥ã¼ã«ãåç §ãã¦ãã ããã
ã¾ãããã¹ã㯠JavaScript ã«éå®ãããªããã¨ã«ã注æãã¦ãã ããããã¹ãã¯ã¬ã³ããªã³ã°ããã DOM ãã¦ã¼ã¶ã¼ã¤ã³ã¿ã©ã¯ã·ã§ã³ã CSS ãããã«ã¯ãã¼ã¸ã®å¤è¦³ã«å¯¾ãã¦å®è¡ã§ãã¾ãã
ãããããã®ããã¸ã§ã¯ãã§ã¯ã GitHub API ãã¼ã¿ãæ£ããæ¸å¼åããã¦ãããã©ããã調ã¹ãå°ããªæ¤æ»ã使ãã¾ããããã§ãªãå ´åãæ¤æ»ã¯å¤±æããããã¸ã§ã¯ãã¯å ¬éããã¾ããããã以ä¸ã®ãã¨ã¯ããã®ã¢ã¸ã¥ã¼ã«ã®ç¯å²ãè¶ ãã¾ããæ¤æ»ã¯å®ã«å·¨å¤§ãªãã¼ãã§ãããããèªä½ã§å¥åã®ã¢ã¸ã¥ã¼ã«ãå¿ è¦ã¨ãã¾ãããã®ç« ã§ã¯ãå°ãªãã¨ããã¹ãã®å¿ è¦æ§ãèªèããããã«è©³ããå¦ã³ããã¨æããã£ããã¨ãªããããªé¸æããã¦ãããã¨ãæå¾ ãã¦ãã¾ãã
大åãªã®ã¯ãã¹ããã®ãã®ã§ã¯ããã¾ãããéè¦ãªã®ã¯ãç¬èªã®ãã«ãã¢ã¯ã·ã§ã³ããã§ã«è¨è¿°ãã¦ããã®ã§ããã¹ããå®è¡ããæ®µéããã«ãã®åã«è¿½å ãããã¨ãã§ãã¾ãããã¹ãã失æããã¨ããã«ãã¯å¤±æãããããã¤ã¯ç¾ãã¾ããã
è¯ããã¥ã¼ã¹ã¯ãVite ã使ç¨ãã¦ãããããVite ã«ã¯ãã§ã«ãã¹ãç¨ã®åªããçµ±åãã¼ã«ãVitest ãç¨æããã¦ãããã¨ã§ãã
å§ãã¾ãããã
-
Vitest ãã¤ã³ã¹ãã¼ã«ãã¾ãã
bashnpm install --save-dev vitest -
package.json ã§
scriptsã¡ã³ãã¼ãæ¢ããæ¬¡ã®ãã¹ãããã³ãã«ãã³ãã³ããå«ã¾ããããã«æ´æ°ãã¾ããjson"scripts": { // ⦠"test": "vitest" }ã¡ã¢: Vitest 㨠Vite ãä¸ç·ã«ä½¿ç¨ãããã¨ã®å©ç¹ã¯ãä»ã®ãã¹ããã¬ã¼ã ã¯ã¼ã¯ã使ç¨ããå ´åããã¹ããã¡ã¤ã«ã®å¤ææ¹æ³ãè¨è¿°ããå¥ã®è¨å®ã追å ããå¿ è¦ãããã¾ãããVitest 㯠Vite ã®è¨å®ãèªåçã«ä½¿ç¨ãã¾ãã
-
ããã§ãã³ã¼ããã¼ã¹ã«ãã¹ãã追å ããå¿ è¦ãããã¾ããé常ã
App.jsxã¨ãããã¡ã¤ã«ã®æ©è½ããã¹ãããå ´åããã®é£ã«App.test.jsxã¨ãããã¡ã¤ã«ã追å ãã¾ãããã®ä¾ã§ã¯ããã¼ã¿ããã¹ãããã ããªã®ã§ããã¹ããä¿åããããã®å¥ã®ãã£ã¬ã¯ããªã¼ã使ãã¾ããããååã®ç« ã§ãã¦ã³ãã¼ããããµã³ãã«ãªãã¸ããªã¼ãéããtestsãã©ã«ãã¼ãã³ãã¼ãã¦ãã ããã -
ããã§æåã§ãã¹ããå®è¡ã§ãã¾ããã³ãã³ãã©ã¤ã³ãããæ¬¡ã®ããã«å®è¡ãã¾ãã
bashnpm run test次ã®ãããªåºåã表示ããã¾ãã
> client-toolchain-example@1.0.0 test > vitest DEV v1.6.0 /Users/joshcena/Desktop/work/Tech/projects/mdn/client-toolchain-example â tests/api.test.js (1) 896ms â GitHub API returns the right response 896ms Test Files 1 passed (1) Tests 1 passed (1) Start at 23:12:25 Duration 1.03s (transform 15ms, setup 0ms, collect 5ms, tests 896ms, environment 0ms, prepare 38ms) PASS Waiting for file changes... press h to show help, press q to quitããã¯ããã¹ãã«åæ ¼ãããã¨ãæå³ãã¾ãã Vite ã¨åæ§ããã¡ã¤ã«ãä¿åãããã¨å¤æ´ãç£è¦ããæ¤æ»ãåå®è¡ãã¾ãã q ãæ¼ãã¨çµäºã§ãã¾ãã
-
ãã¹ãããã«ãã¢ã¯ã·ã§ã³ã«é ç·ãã¦ããã¹ãã失æããå ´åã«ãã«ãããããã¯ããå¿ è¦ãããã¾ãã
.github/workflows/github-pages.ymlãã¡ã¤ã«ï¼ã¾ãã¯ãã«ãã¢ã¯ã·ã§ã³ã«ä»ãããã¡ã¤ã«åï¼ãéããnpm run buildãå®è¡ããã¹ãããã®ç´åã«ã次ã®ã¹ãããã追å ãã¾ããyaml- name: Install deps run: npm ci # Add this - name: Run tests run: npm run test - name: Build run: npm run buildããã«ããããã«ã段éã®åã«ãã¹ããå®è¡ããã¾ãããã¹ãã«å¤±æããå ´åããã«ãã¯å¤±æã¨ãªãããããã¤ã¯ç¾ãã¾ããã
-
以åã«ä½¿ç¨ãããã®ã¨åæ§ã®ã³ãã³ãã使ç¨ãã¦ãæ°ããã³ã¼ãã GitHub ã«ã¢ãããã¼ãããå¿ è¦ãããã¾ãã
bashgit add . git commit -m 'adding test' git push origin mainå ´åã«ãã£ã¦ã¯ããã«ããããã³ã¼ãã®çµæããã¹ããããå ´åãããã¾ãï¼ããã¯ãç§ãã¡ã使ãããªãªã¸ãã«ã®ã³ã¼ãã¨ã¯ç°ãªãããï¼ããã®ããããã«ãã³ãã³ãã®å¾ã«ãã¹ããå®è¡ããå¿ è¦ãããããããã¾ãããç¬èªã®ããã¸ã§ã¯ãã«åãçµãã§ããã¨ãã¯ãããããã¹ã¦ã®åå¥ã®å´é¢ãèæ ®ããå¿ è¦ãããã¾ãã
æå¾ã«ãããã·ã¥ãã¦ãã 1 åã»ã©å¾ãGitHub Pages ãããã¸ã§ã¯ãã®æ´æ°ãå±éãã¾ãããã ããå°å ¥ãããã¹ãã«åæ ¼ããå ´åã«éãã¾ãã
ã¾ã¨ã
ãµã³ãã«ã±ã¼ã¹ã¹ã¿ãã£ã¨ã¢ã¸ã¥ã¼ã«ã¯ããã§çµããã§ãããå½¹ã«ç«ã¦ã°å¹¸ãã§ããèªåãã¯ã©ã¤ã¢ã³ãå´ãã¼ã«ã®ã¦ã£ã¶ã¼ãã¨ã¿ãªãã¾ã§ã«ã¯é·ãéã®ããããã¾ããããã®ã¢ã¸ã¥ã¼ã«ããã¯ã©ã¤ã¢ã³ãå´ã®ãã¼ã«ãçè§£ããããã®éè¦ãªç¬¬ä¸æ©ã¨ãªããããã«å¦ãã§æ°ãããã¼ã«ã試ãèªä¿¡ãä¸ãã¦ããããã¨ãé¡ã£ã¦ãã¾ãã
ãã¼ã«ãã§ã¼ã³ã®ãã¹ã¦ã®é¨åãè¦ç´ãã¦ã¿ã¾ãããã
- ã³ã¼ãã®å質ã¨ä¿å®ã¯ã ESLint 㨠Prettier ã«ãã£ã¦å®æ½ããã¾ãããããã®ãã¼ã«ã¯ã
npm install --dev eslint prettier eslint-plugin-react ...ã«ãã£ã¦ãdevDependenciesã¨ãã¦èªåã®ããã¸ã§ã¯ãã«è¿½å ããã¾ãï¼ãã®å ·ä½çãªããã¸ã§ã¯ãã§ã¯ React ã使ç¨ãã¦ãããããESLint ãã©ã°ã¤ã³ãå¿ è¦ã§ãï¼ã - ã³ã¼ãå質ãã¼ã«ãèªã¿åãæ§æãã¡ã¤ã«ã 2 ã¤ããã¾ãã
eslint.config.jsã¨.prettierrcã§ãã - éçºä¸ã¯ãnpm ã使ç¨ãã¦ä¾åé¢ä¿ã追å ãç¶ãã¾ããVite éçºãµã¼ãã¼ã¯ããã¯ã°ã©ã¦ã³ãã§å®è¡ããã夿´ãç£è¦ããã½ã¼ã¹ãèªåçã«ãã«ããã¾ãã
- ãããã¤ã¯ãGitHub ï¼"main" ãã©ã³ãï¼ã«å¤æ´ãããã·ã¥ãããã¨ã§å¦çããã¾ããããã«ãããGitHub Actions ã«ãããã«ãã¨å±éãéå§ãããããã¸ã§ã¯ããå ¬éããã¾ãããã®ä¾ã§ã¯ã URL 㯠https://mdn.github.io/client-toolchain-example/ ã§ãããçæ§ã¯èªåã®åºæã® URL ã«ãªãã§ãããã
- ã¾ããGitHub API ãã£ã¼ãããæ£ãããã¼ã¿å½¢å¼ã®ãã¼ã¿ã渡ãããªãã£ãå ´åã«ããµã¤ãã®ãã«ãã¨å±éããããã¯ããåç´ãªæ¤æ»ã宿½ãã¦ãã¾ãã
ææ¦ãããæ¹ã¯ããã®ãã¼ã«ãã§ã¼ã³ã®ä¸é¨ãæé©åã§ãããã©ããèãã¦ã¿ã¦ãã ãããèªåãã¹ã質åã¯ä»¥ä¸ã®éãã§ãã
- å¿ è¦ãª plotly.js ã®æ©è½ã ããåãåºããã¨ã¯ã§ãã¾ããï¼ãããããã¨ã§ãJavaScript ãã³ãã«ã®ãµã¤ãºã縮å°ãããã¨ãã§ãã¾ãã
- åãã§ãã¯ç¨ã® TypeScript ã CSS ãªã³ãã£ã³ã°ç¨ã® stylelintããã®ä»ã®ãã¼ã«ã追å ããããªãããããã¾ããã
- React ã ãã£ã¨å°ãããã® ã«ç½®ãæãããã¨ã¯ã§ãã¾ãã?
- ããã©ã¼ãã³ã¹ç£æ»ãªã©ã䏿£ãªãã«ãã®ãããã¤ãé²ãããã®ãã¹ããããã«è¿½å ãã¦ããã ãã¾ãã?
- æ°ãããããã¤ãæåããã失æããããç¥ãããéç¥ãè¨å®ãã¦ããã ãã¾ãã?