ãããã¡ããããŒãã
HMRïŒãããã¢ãžã¥ãŒã«ãªãã¬ãŒã¹ã¡ã³ãïŒ ãšã¯ïŒ
å
Ž:
ð¡ ããŒãžããªããŒãããã«å€æŽç¹ã ããå³åº§ã«åæ ããéçºè
ã®éæ³
ð ãã®ããŒãžã®ãã€ã³ã
- 倿Žãããã¡ã€ã«ã ãããã©ãŠã¶äžã§å·®ãæ¿ããç¶æ ãä¿ã£ããŸãŸæŽæ°ã§ãã
- Viteãwebpackãªã©ã®ãã³ãã©ãŒãHMR APIãšããŠæäŸ
- ãã«ãªããŒãããå€§å¹ ã«é«éã§ããã©ãŒã ã®å ¥åç¶æ ãã¹ã¯ããŒã«äœçœ®ãç¶æããã
- Reactã®Fast Refreshã»Vue SFCã®HMRãªã©ãã¬ãŒã ã¯ãŒã¯åºæã®æ¡åŒµããã
HMRã£ãŠããèŠããã©ãããããªããŒããšäœãéãã®ïŒ
ããããªããŒãã¯ã¢ããªå
šäœãåèµ·åããã«ã³ãŒããåæ ããåºãæŠå¿µã§ãHMRã¯ãã®å®è£
ææ³ã®äžã€ã ããHMRã¯ç¹ã«ã倿Žãããã¢ãžã¥ãŒã«ã ããå·®ãæ¿ããããšããç¹ãç¹åŸŽã§ãããŒãžå
šäœããªããŒãããªãã®ã§å
¥åäžã®ãã©ãŒã ãéžæç¶æ
ããã®ãŸãŸä¿ããããã ã
ããŒãžãªããŒããªãã£ãŠã©ãããä»çµã¿ã§åããŠãã®ïŒ
Viteãwebpackãã¢ãžã¥ãŒã«ã°ã©ããWebSocketã§ãã©ãŠã¶ãšå
±æããŠããŠããã¡ã€ã«ã倿Žããããšãã©ã®ã¢ãžã¥ãŒã«ã圱é¿ãåãããããèšç®ããŠå·®åã ãéããã ãããã©ãŠã¶åŽã®HMRã©ã³ã¿ã€ã ãåãåã£ãŠãå€ãã¢ãžã¥ãŒã«ãæ°ããã¢ãžã¥ãŒã«ã«å·®ãæ¿ãããšããä»çµã¿ã ãã
Reactã§éçºãããšãæããããã¡ã€ã«ä¿åããã峿޿°ããããã£ãŠHMRã®ãããïŒ
ããã ããReactã«ã¯Fast Refreshãšããæ¡åŒµHMRããã£ãŠãã³ã³ããŒãã³ãã®ã³ãŒãã倿ŽããŠãç¶æ
ïŒstateïŒãä¿ã£ããŸãŸæŽæ°ã§ããããã«ãªã£ãŠãããã ãViteã¯HMRããšãŠãé«éã«å®è£
ããŠããŠã倧ããªãããžã§ã¯ãã§ãæ°åããªç§ã§åæ ããããã
HMRãå¹ããªãã±ãŒã¹ã£ãŠããã®ïŒ
ããããã¢ãžã¥ãŒã«ã®å¯äœçšïŒã°ããŒãã«ç¶æ
ã®åæåãªã©ïŒãè€éã ãšãå·®ãæ¿ãã ãã§ã¯äžè²«æ§ãä¿ãŠãªããŠãã«ãªããŒãã«ãã©ãŒã«ããã¯ããããšããããã ããŸããèšå®ãã¡ã€ã«ããµãŒããŒãµã€ãã®ã³ãŒãã¯HMRã®å¯Ÿè±¡å€ã§ã倿Žãããæåã§åèµ·åãå¿
èŠãªã±ãŒã¹ããããã
ãŸãšãïŒãã£ããããã ãèŠããã°OKïŒ
ãHMRãã£ãŠåºãŠããããã³ãŒã倿Žããã©ãŠã¶ãªããŒããªãã«å³åæ ããéçºäžã®äŸ¿å©æ©èœã®ããšã ãªããšæããã°ã ãããOKïŒ
ð ããŸãïŒè±èªã®æå³
ãHot Module Replacementã ïŒ ãããã¢ãžã¥ãŒã«ãªãã¬ãŒã¹ã¡ã³ã
ð¬ ããããïŒHotïŒãã¯ã皌åäžã®ãŸãŸãããã¢ãžã¥ãŒã«ãªãã¬ãŒã¹ã¡ã³ãïŒModule ReplacementïŒãã¯ãã¢ãžã¥ãŒã«ã®å·®ãæ¿ãããšããæå³ã ã