ð€¯ åºæïŒãªããã¢ãžã¥ãŒã«åå²ãã ãã§ã¯ãã¡ãªã®ãïŒ
ååãããªãã¯**import/export**ã䜿ã£ãã¢ãžã¥ãŒã«åå²ã®æè¡ããã¹ã¿ãŒããŸããããã³ãŒãã¯ã¹ãããªæŽçãããç®¡çæ§ã¯æ Œæ®µã«åäžããŸãããçŽ æŽããã鲿©ã§ãïŒ
ãããããã®ã¢ãžã¥ãŒã«åå²ã«ã¯äžã€ã®å€§ããªåŒ±ç¹ããããŸããããã¯ãWebãã©ãŠã¶ãå€ãã®ã¢ãžã¥ãŒã«ãã¡ã€ã«ïŒ.jsãã¡ã€ã«ïŒãäžã€ã²ãšã€èªã¿èŸŒãã®ã«æéããããããšã§ãã
äŸãã°ã100åã®ã¢ãžã¥ãŒã«ã«åå²ããå Žåããã©ãŠã¶ã¯ãµãŒããŒã«100åãªã¯ãšã¹ããéãããšã«ãªããŸããããã¯ãµã€ãã®è¡šç€ºé床ãèŽåœçã«é ãããåå ã§ãã
ããã§ç»å Žããã®ããããã®éçºçŸå Žã§æ¬ ãããªãã¢ãžã¥ãŒã«ãã³ãã©ãŒïŒModule BundlerïŒã§ããããã¯ãããªãã®ããããã®ãã¡ã€ã«ãäžã€ã«ãŸãšããŠãWebãµã€ããåçã«é«éåãããããã®éæ³ã®ããŒã«ã§ãã
1. ðŠ ã¢ãžã¥ãŒã«ãã³ãã©ãŒãšã¯ïŒãè·ç©ã®æ¢±å å±ãã®åœ¹å²
ã¢ãžã¥ãŒã«ãã³ãã©ãŒãšã¯ãéçºæã«åå²ããJavaScriptãã¡ã€ã«ãCSSãç»åãªã©ã®ãã¹ãŠã®ãªãœãŒã¹ãåéãã**ãã©ãŠã¶ãèªã¿èŸŒããæé©ãªåœ¢ïŒéåžžã¯äžã€ã®ãã¡ã€ã«ïŒã«ã梱å ïŒãã³ãã«ïŒã**ããŠãããããŒã«ã§ãã
ã€ã¡ãŒãžãšããŠã¯ãããããã®æçŽïŒã¢ãžã¥ãŒã«ãã¡ã€ã«ïŒããäžã€ã®å€§ããªæ®µããŒã«ïŒãã³ãã«ãã¡ã€ã«ïŒã«ãŸãšããŠãéµäŸ¿å±ïŒãã©ãŠã¶ïŒã«éããããªãã®ã§ãã
ãã³ãã©ãŒã®äž»ãªæ©èœïŒé«éåãšå®å šæ§ã®ç§å¯ïŒ
- çµ±åïŒBundlingïŒ: 倿°ã®
.jsãã¡ã€ã«ãäžã€ïŒäŸ:bundle.jsïŒã«ãŸãšããããªã¯ãšã¹ãåæ°ãæ¿æžããéä¿¡å¹çãäžããã - å§çž®ïŒMinificationïŒ: ã³ãŒãããäžèŠãªã¹ããŒã¹ãæ¹è¡ãã³ã¡ã³ããåé€ãã倿°åãçãããŠãã¡ã€ã«ãµã€ãºãæå°åããã
- ãã©ã³ã¹ãã€ã«ïŒTranspilationïŒ: ææ°ã®JavaScriptïŒ
async/awaitãªã©ïŒããå€ããã©ãŠã¶ã§ãåãããã«èªåã§å€æããïŒéåžžãBabelãšããããŒã«ãšé£æºïŒã
2. â¡ïž 代衚çãªãã³ãã©ãŒã®æ¯èŒïŒWebpack vs. Parcel
çŸåšãJavaScriptã®äžçã§æããã䜿ããããã³ãã©ãŒã«ã¯ãèšå®ã®èªç±åºŠãé«ãWebpackãšãæè»œããé åã®ParcelããããŸãã
| ããŒã«å | ç¹åŸŽ | åå¿è åã床 |
| Webpack | èšå®ãã¡ã€ã«ïŒwebpack.config.jsïŒãèªåã§çްããæžãå¿
èŠããããéåžžã«å€æ©èœã§ãã«ã¹ã¿ãã€ãºæ§ãæãé«ãã | äžçŽè 以äžãå€§èŠæš¡ãããžã§ã¯ãåãã |
| Parcel | èšå®ãã»ãŒäžèŠïŒZero ConfigurationïŒããã¡ã€ã«ãæå®ããã ãã§ããã«åããé«éã§å°å ¥ãç°¡åã | åå¿è ã«ãããããã·ã³ãã«ãªãããžã§ã¯ãåãã |
Google ã¹ãã¬ããã·ãŒãã«ãšã¯ã¹ããŒã
ð ãªãParcelãåå¿è ã«ãããããªã®ãïŒ
Webpackã¯åŒ·åã§ãããèšå®ã«äœæ¥ãè²»ããããšããããŸããäžæ¹ãParcelã¯ã³ãã³ãã©ã€ã³ã§ãparcel index.htmlããšå®è¡ããã ãã§ãå¿
èŠãªèšå®ããã¹ãŠèªåã§åŠçããŠãããŸãã
ããªãã¯ç ©éãªèšå®ã«æéãåãããããšãªããããã«ã³ãŒããæžãå§ããããšãã§ããŸãã
3. ð ïž å°å ¥ã®ã€ã¡ãŒãžïŒã¢ãžã¥ãŒã«ãã³ãã©ãŒã䜿ã£ãŠã¿ãã
ã¢ãžã¥ãŒã«ãã³ãã©ãŒãå°å ¥ããéã®å ·äœçãªæµãã¯ä»¥äžã®éãã§ãã
ã¹ããã1: Node.jsãšnpmã®æºå
JavaScriptã®ããŒã«ã¯ãNode.jsãšããå®è¡ç°å¢ãšãnpmãšããããã±ãŒãžç®¡çã·ã¹ãã ã䜿ã£ãŠã€ã³ã¹ããŒã«ããŸããïŒNode.jsã¯å ¬åŒãµã€ãããç°¡åã«ã€ã³ã¹ããŒã«ã§ããŸãïŒ
ã¹ããã2: ãã³ãã©ãŒã®ã€ã³ã¹ããŒã«ïŒParcelã®äŸïŒ
ãããžã§ã¯ããã©ã«ãã§ä»¥äžã®ã³ãã³ããå®è¡ããParcelãã€ã³ã¹ããŒã«ããŸãã
Bash
npm install -g parcel-bundler
ã¹ããã3: å®è¡
HTMLãã¡ã€ã«ããããã©ã«ãã§ããã£ãããã ãã®ã³ãã³ããå®è¡ããã ãã§ãã
Bash
parcel index.html
Parcelãèªåã§ããªãã®HTMLãã¡ã€ã«ããäŸåé¢ä¿ãèªã¿åãããã¹ãŠã®JavaScriptãã¡ã€ã«ã**distãã©ã«ãå
**ã«ãé«éã§å§çž®ãããäžã€ã®bundle.jsãã¡ã€ã«ãšããŠåºåããŠãããŸãã
ð ãŸãšãïŒãã³ãã©ãŒã§ãããã®ç°å¢ããæã«å ¥ããïŒ
ã¢ãžã¥ãŒã«ãã³ãã©ãŒã¯ãåãªãããŒã«ã®è©±ã§ã¯ãªãã**ãéçºå¹çããšãWebãµã€ãã®å質ïŒé床ïŒã**ãããã¬ãã«ã«åŒãäžããããã®å¿ é æè¡ã§ãã
- ãã³ãã©ãŒã®åœ¹å²: åå²ãããã³ãŒããäžã€ã«ãŸãšããå§çž®ãããã©ãŠã¶ãèªããããã«å€æããã
import/exportã®ææ: æŽçãããã³ãŒããããã³ãã©ãŒãäžã€ã«ãŸãšããŠãããã- åå¿è ã®ãããã: ParcelïŒèšå®äžèŠã§é«éïŒããå§ãããïŒ
ãã®ã¢ãžã¥ãŒã«ãã³ãã©ãŒã®ä»çµã¿ãçè§£ããããšã§ãããªãã®JavaScriptç°å¢ã¯ã仿¥ããäžæ°ã«ã¢ãã³ãªéçºç°å¢ãžãšé²åããŸããããã§ãå€§èŠæš¡ã§é«éãªWebãµã€ãéçºã®æãéããŸããïŒ

