ãµã€ãºã®å€§ãã JavaScript ãªãœãŒã¹ãèªã¿èŸŒããšãããŒãžã®èªã¿èŸŒã¿é床ã«å€§ããªåœ±é¿ããããŸããJavaScript ãããå°ããªãã£ã³ã¯ã«åå²ããããŒãžã®èµ·åã«å¿ èŠãªãã®ã ããããŠã³ããŒãããããšã§ãããŒãžã®èªã¿èŸŒã¿ã®å¿çæ§ãå€§å¹ ã«æ¹åã§ããŸããããã«ãããããŒãžã®æ¬¡ã®ãã€ã³ããŸã§ã®ã€ã³ã¿ã©ã¯ã·ã§ã³ïŒINPïŒãæ¹åãããŸãã
ãµã€ãºã®å€§ãã JavaScript ãã¡ã€ã«ãããŠã³ããŒããè§£æãã³ã³ãã€ã«ããŠããéãããŒãžãå¿çããªããªãããšããããŸããããŒãžèŠçŽ ã¯ãããŒãžã®åæ HTML ã®äžéšã§ãããCSS ã§ã¹ã¿ã€ã«èšå®ãããŠããããã衚瀺ãããŸãããã ãããããã®ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ãåäœãããããã«å¿ èŠãª JavaScript ããããŒãžã«ãã£ãŠèªã¿èŸŒãŸããä»ã®ã¹ã¯ãªãããããããã®èŠçŽ ãåäœãããããã« JavaScript ãè§£æããŠå®è¡ããŠããå¯èœæ§ããããŸãããã®çµæããŠãŒã¶ãŒã¯ã€ã³ã¿ã©ã¯ã·ã§ã³ãå€§å¹ ã«é å»¶ããããããã¯å®å šã«æ©èœããªããªã£ããšæããå¯èœæ§ããããŸãã
ããã¯éåžžãJavaScript ãã¡ã€ã³ã¹ã¬ããã§è§£æããã³ã³ã³ãã€ã«ããããããã¡ã€ã³ã¹ã¬ããããããã¯ãããããšãåå ã§çºçããŸãããã®åŠçã«æéããããããããšãã€ã³ã¿ã©ã¯ãã£ããªããŒãžèŠçŽ ããŠãŒã¶ãŒå ¥åã«ååãªéãã§å¿çããªãå¯èœæ§ããããŸãããã®åé¡ã解決ãã 1 ã€ã®æ¹æ³ã¯ãããŒãžãæ©èœããããã«å¿ èŠãª JavaScript ã®ã¿ãèªã¿èŸŒã¿ãä»ã® JavaScript ã¯ã³ãŒãåå²ãšåŒã°ããææ³ã§åŸã§èªã¿èŸŒãããã«é å»¶ãããããšã§ãããã®ã¢ãžã¥ãŒã«ã§ã¯ãåŸè ã®ææ³ã«çŠç¹ãåœãŠãŸãã
ã³ãŒãåå²ã«ãããèµ·åæã® JavaScript ã®è§£æãšå®è¡ãæžãã
Lighthouse ã¯ãJavaScript ã®å®è¡ã« 2 ç§ä»¥äžããããšèŠåãã¹ããŒãã3.5 ç§ä»¥äžããããšå€±æããŸããJavaScript ã®è§£æãšå®è¡ãéå°ã«ãªããšãããŒãžã®ã©ã€ããµã€ã¯ã«ã®ã©ã®æç¹ã§ãåé¡ãçºçããå¯èœæ§ããããŸãããŠãŒã¶ãŒãããŒãžãæäœããã¿ã€ãã³ã°ãšãJavaScript ã®åŠçãšå®è¡ãæ åœããã¡ã€ã³ã¹ã¬ããã®ã¿ã¹ã¯ãå®è¡ãããã¿ã€ãã³ã°ãéãªããšãã€ã³ã¿ã©ã¯ã·ã§ã³ã®å ¥åé å»¶ãå¢å ããå¯èœæ§ããããŸãã
ããã«ãéå°ãª JavaScript ã®å®è¡ãšè§£æã¯ãç¹ã«ããŒãžã®ã©ã€ããµã€ã¯ã«ã®ãã¡ãŠãŒã¶ãŒãããŒãžãæäœããå¯èœæ§ãé«ãåæããŒãžèªã¿èŸŒã¿æã«åé¡ãšãªããŸããå®éãèªã¿èŸŒã¿ã®å¿çæ§ææšã§ããåèšãããã¯æéïŒTBTïŒã¯ INP ãšã®çžé¢æ§ãé«ãããšãããã£ãŠããŸããããã¯ããŠãŒã¶ãŒãæåã®ããŒãžèªã¿èŸŒã¿äžã«æäœã詊ã¿ãåŸåã匷ãããšã瀺ããŠããŸãã
ããŒãžããªã¯ãšã¹ãããå JavaScript ãã¡ã€ã«ã®å®è¡æéãã¬ããŒããã Lighthouse ã®ç£æ»ã¯ãã©ã®ã¹ã¯ãªãããã³ãŒãåå²ã®åè£ã«ãªãããæ£ç¢ºã«ç¹å®ããã®ã«åœ¹ç«ã¡ãŸããããã«ãChrome DevTools ã®ã«ãã¬ããž ããŒã«ã䜿çšããŠãããŒãžã®èªã¿èŸŒã¿äžã«äœ¿çšãããªã JavaScript ã®éšåãæ£ç¢ºã«ç¹å®ããããšãã§ããŸãã
ã³ãŒãåå²ã¯ãããŒãžã®åæ JavaScript ãã€ããŒããåæžã§ãã䟿å©ãªææ³ã§ããJavaScript ãã³ãã«ã次㮠2 ã€ã®éšåã«åå²ã§ããŸãã
- ããŒãžã®èªã¿èŸŒã¿æã«å¿ èŠãª JavaScript ã§ãããä»ã®ã¿ã€ãã³ã°ã§èªã¿èŸŒãããšã¯ã§ããŸããã
- æ®ãã® JavaScript ã¯ãåŸã§èªã¿èŸŒãããšãã§ããŸããå€ãã®å ŽåããŠãŒã¶ãŒãããŒãžäžã®ç¹å®ã®ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ãæäœãããšãã«èªã¿èŸŒãŸããŸãã
ã³ãŒãåå²ã¯ãåç import()
æ§æã䜿çšããŠè¡ãããšãã§ããŸãããã®æ§æã¯ãèµ·åæã«ç¹å®ã® JavaScript ãªãœãŒã¹ããªã¯ãšã¹ããã <script>
èŠçŽ ãšã¯ç°ãªããããŒãž ã©ã€ããµã€ã¯ã«ã®åŸåã§ JavaScript ãªãœãŒã¹ããªã¯ãšã¹ãããŸãã
document.querySelectorAll('#myForm input').addEventListener('blur', async () => {
// Get the form validation named export from the module through destructuring:
const { validateForm } = await import('/validate-form.mjs');
// Validate the form:
validateForm();
}, { once: true });
äžèšã® JavaScript ã¹ããããã§ã¯ããŠãŒã¶ãŒããã©ãŒã ã® <input>
ãã£ãŒã«ãã®ããããããŒãããå Žåã«ã®ã¿ãvalidate-form.mjs
ã¢ãžã¥ãŒã«ãããŠã³ããŒããè§£æãå®è¡ãããŸãããã®å Žåããã©ãŒã ã®æ€èšŒããžãã¯ãé§åãã JavaScript ãªãœãŒã¹ã¯ãå®éã«äœ¿çšãããå¯èœæ§ãæãé«ãå Žåã«ã®ã¿ããŒãžã«é¢äžããŸãã
webpackãParcelãRollupãesbuild ãªã©ã® JavaScript ãã³ãã©ã¯ããœãŒã¹ã³ãŒãã§åç㪠import()
åŒã³åºããæ€åºãããã³ã«ãJavaScript ãã³ãã«ãããå°ããªãã£ã³ã¯ã«åå²ããããã«æ§æã§ããŸãããããã®ããŒã«ã®ã»ãšãã©ã¯ãããèªåçã«è¡ããŸãããç¹ã« esbuild ã§ã¯ãã®æé©åãæå¹ã«ããå¿
èŠããããŸãã
ã³ãŒãåå²ã«é¢ãã圹ç«ã€ã¡ã¢
ã³ãŒãåå²ã¯ãããŒãžã®ååèªã¿èŸŒã¿æã®ã¡ã€ã³ã¹ã¬ããã®ç«¶åãæžãã广çãªæ¹æ³ã§ãããã³ãŒãåå²ã®æ©äŒãæ¢ãããã« JavaScript ãœãŒã¹ã³ãŒãã®ç£æ»ãè¡ãå Žåã¯ãããã€ãã®ç¹ã«æ³šæããå¿ èŠããããŸãã
å¯èœã§ããã°ãã³ãã©ã䜿çšãã
éçºããã»ã¹ã§JavaScript ã¢ãžã¥ãŒã«ã䜿çšããããšã¯ãããããããŒã«ãšã£ãŠäžè¬çãªãã©ã¯ãã£ã¹ã§ããã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãåäžãããåªããéçºè ãšã¯ã¹ããªãšã³ã¹ã®æ¹åã§ãããã ããJavaScript ã¢ãžã¥ãŒã«ãæ¬çªç°å¢ã«é ä¿¡ãããšãããã©ãŒãã³ã¹ãæé©ã§ãªãç¹æ§ãçããå¯èœæ§ããããŸãã
æãéèŠãªã®ã¯ãã³ãŒãåå²ãäºå®ããŠããã¢ãžã¥ãŒã«ãå«ãããœãŒã¹ã³ãŒããåŠçããŠæé©åããããã«ãã³ãã©ãŒã䜿çšããããšã§ãããã³ãã©ãŒã¯ãJavaScript ãœãŒã¹ã³ãŒãã«æé©åãé©çšããã ãã§ãªãããã³ãã«ãµã€ãºãšå§çž®çãªã©ã®ããã©ãŒãã³ã¹ã«é¢ããèæ ®äºé ã®ãã©ã³ã¹ãåãããã§ãéåžžã«å¹æçã§ããå§çž®ã®æå¹æ§ã¯ãã³ãã«ãµã€ãºãšãšãã«å¢å ããŸããããã³ãã©ãŒã¯ãã¹ã¯ãªããè©äŸ¡ã«ããé·ãã¿ã¹ã¯ãçºçããã»ã©ãã³ãã«ã倧ãããªããªãããã«ããŸãã
ãŸãããã³ãã©ãŒã¯ããããã¯ãŒã¯çµç±ã§å€§éã®ãã³ãã«ãããŠããªãã¢ãžã¥ãŒã«ãéä¿¡ããåé¡ãåé¿ããŸããJavaScript ã¢ãžã¥ãŒã«ã䜿çšããã¢ãŒããã¯ãã£ã¯ãå€§èŠæš¡ã§è€éãªã¢ãžã¥ãŒã« ããªãŒãæã€åŸåããããŸããã¢ãžã¥ãŒã«ããªãŒããã³ãã«ããªãå Žåãåã¢ãžã¥ãŒã«ã¯åå¥ã® HTTP ãªã¯ãšã¹ãã衚ããŸããã¢ãžã¥ãŒã«ããã³ãã«ããªããšããŠã§ãã¢ããªã®ã€ã³ã¿ã©ã¯ãã£ããã£ãé
å»¶ããå¯èœæ§ããããŸãã<link rel="modulepreload">
ãªãœãŒã¹ãã³ãã䜿çšããŠãã§ããã ãæ©ã倧ããªã¢ãžã¥ãŒã«ããªãŒãèªã¿èŸŒãããšã¯å¯èœã§ãããèªã¿èŸŒã¿ããã©ãŒãã³ã¹ã®èгç¹ããã¯ãJavaScript ãã³ãã«ã®æ¹ãæãŸããã§ãã
ã¹ããªãŒãã³ã° ã³ã³ãã€ã«ã誀ã£ãŠç¡å¹ã«ããªã
Chromium ã® V8 JavaScript ãšã³ãžã³ã«ã¯ãæ¬çªç°å¢ã® JavaScript ã³ãŒããå¯èœãªéãå¹ççã«èªã¿èŸŒãããã®æé©åã倿°çšæãããŠããŸãããã®ãããªæé©åã® 1 ã€ã«ãã¹ããªãŒãã³ã° ã³ã³ãã€ã«ããããŸããããã¯ããã©ãŠã¶ã«ã¹ããªãŒãã³ã°ããã HTML ã®å¢åè§£æãšåæ§ã«ããããã¯ãŒã¯ããå°çãã JavaScript ã®ã¹ããªãŒãã³ã° ãã£ã³ã¯ãã³ã³ãã€ã«ããŸãã
Chromium ã§ãŠã§ã ã¢ããªã±ãŒã·ã§ã³ã®ã¹ããªãŒãã³ã° ã³ã³ãã€ã«ã確å®ã«è¡ãã«ã¯ãããã€ãã®æ¹æ³ããããŸãã
- JavaScript ã¢ãžã¥ãŒã«ã䜿çšããªãããã«æ¬çªç°å¢ã³ãŒãã倿ããŸãããã³ãã©ãŒã¯ãã³ã³ãã€ã« ã¿ãŒã²ããã«åºã¥ã㊠JavaScript ãœãŒã¹ã³ãŒãã倿ã§ããŸããã¿ãŒã²ããã¯å€ãã®å Žåãç¹å®ã®ç°å¢ã«åºæã®ãã®ã§ããV8 ã¯ãã¢ãžã¥ãŒã«ã䜿çšããªã JavaScript ã³ãŒãã«ã¹ããªãŒãã³ã° ã³ã³ãã€ã«ãé©çšããŸãããŸããJavaScript ã¢ãžã¥ãŒã« ã³ãŒãã JavaScript ã¢ãžã¥ãŒã«ãšãã®æ©èœã䜿çšããªãæ§æã«å€æããããã«ãã³ãã©ãŒãæ§æããããšãã§ããŸãã
- JavaScript ã¢ãžã¥ãŒã«ãæ¬çªç°å¢ã«ãªãªãŒã¹ããå Žåã¯ã
.mjs
æ¡åŒµæ©èœã䜿çšããŸããæ¬çªç°å¢ã® JavaScript ã§ã¢ãžã¥ãŒã«ã䜿çšãããã©ããã«é¢ä¿ãªããã¢ãžã¥ãŒã«ã䜿çšãã JavaScript ãšäœ¿çšããªã JavaScript ã«ç¹å¥ãªã³ã³ãã³ã ã¿ã€ãã¯ãããŸãããV8 ã«é¢ããŠã¯ã.js
æ¡åŒµæ©èœã䜿çšããŠæ¬çªç°å¢ã§ JavaScript ã¢ãžã¥ãŒã«ãé ä¿¡ããå Žåãã¹ããªãŒãã³ã° ã³ã³ãã€ã«ãäºå®äžãªããã¢ãŠãããããšã«ãªããŸããJavaScript ã¢ãžã¥ãŒã«ã«.mjs
æ¡åŒµæ©èœã䜿çšãããšãV8 ã¯ã¢ãžã¥ãŒã«ããŒã¹ã® JavaScript ã³ãŒãã®ã¹ããªãŒãã³ã° ã³ã³ãã€ã«ãäžæãããªãããã«ããããšãã§ããŸãã
ãããã®èæ ®äºé ãçç±ã«ã³ãŒãåå²ã®äœ¿çšãæããšã©ãŸãå¿ èŠã¯ãããŸãããã³ãŒãåå²ã¯ããŠãŒã¶ãŒãžã®åæ JavaScript ãã€ããŒããåæžãã广çãªæ¹æ³ã§ããããã³ãã©ãŒã䜿çšããŠãV8 ã®ã¹ããªãŒãã³ã° ã³ã³ãã€ã«åäœãç¶æããæ¹æ³ãç¥ãããšã§ãæ¬çªç°å¢ã® JavaScript ã³ãŒãããŠãŒã¶ãŒã«ãšã£ãŠå¯èœãªéãé«éã«ããããšãã§ããŸãã
åçã€ã³ããŒãã®ãã¢
webpack
webpack ã«ã¯ SplitChunksPlugin
ãšããååã®ãã©ã°ã€ã³ãä»å±ããŠããŸãããã®ãã©ã°ã€ã³ã䜿çšãããšããã³ãã©ãŒã JavaScript ãã¡ã€ã«ãåå²ããæ¹æ³ãæ§æã§ããŸããwebpack ã¯ãåç import()
ã¹ããŒãã¡ã³ããšéç import
ã¹ããŒãã¡ã³ãã®äž¡æ¹ãèªèããŸããSplitChunksPlugin
ã®åäœã¯ãæ§æã§ chunks
ãªãã·ã§ã³ãæå®ããããšã§å€æŽã§ããŸãã
chunks: async
ã¯ããã©ã«ãå€ã§ãåçãªimport()
åŒã³åºããæããŸããchunks: initial
ã¯ãéçimport
åŒã³åºããæããŸããchunks: all
ã¯åçã€ã³ããŒãimport()
ãšéçã€ã³ããŒãã®äž¡æ¹ãã«ããŒããasync
ã€ã³ããŒããšinitial
ã€ã³ããŒãã®éã§ãã£ã³ã¯ãå ±æã§ããŸãã
ããã©ã«ãã§ã¯ãwebpack ãåç import()
ã¹ããŒãã¡ã³ããæ€åºãããã³ã«ããã®ã¢ãžã¥ãŒã«çšã«åå¥ã®ãã£ã³ã¯ãäœæãããŸãã
/* main.js */
// An application-specific chunk required during the initial page load:
import myFunction from './my-function.js';
myFunction('Hello world!');
// If a specific condition is met, a separate chunk is downloaded on demand,
// rather than being bundled with the initial chunk:
if (condition) {
// Assumes top-level await is available. More info:
// https://v8.dev/features/top-level-await
await import('/form-validation.js');
}
äžèšã®ã³ãŒã ã¹ããããã®ããã©ã«ãã® webpack æ§æã§ã¯ã2 ã€ã®å¥ã ã®ãã£ã³ã¯ãçæãããŸãã
main.js
ãš./my-function.js
ã¢ãžã¥ãŒã«ãå«ãmain.js
ãã£ã³ã¯ïŒwebpack ãinitial
ãã£ã³ã¯ãšããŠåé¡ãããã£ã³ã¯ïŒãasync
ãã£ã³ã¯ïŒform-validation.js
ã®ã¿ãå«ããæ§æãããŠããå Žåã¯ããªãœãŒã¹åã«ãã¡ã€ã« ããã·ã¥ãå«ãïŒããã®ãã£ã³ã¯ã¯ãcondition
ã truthy ã®å Žåã«ã®ã¿ããŠã³ããŒããããŸãã
ãã®æ§æã«ãããå®éã«å¿
èŠã«ãªããŸã§ form-validation.js
ãã£ã³ã¯ã®èªã¿èŸŒã¿ãé
ãããããšãã§ããŸããããã«ãããæåã®ããŒãžèªã¿èŸŒã¿æã®ã¹ã¯ãªããè©äŸ¡æéãççž®ããããšã§ãèªã¿èŸŒã¿ã®å¿çæ§ãåäžãããããšãã§ããŸããform-validation.js
ãã£ã³ã¯ã®ã¹ã¯ãªããã®ããŠã³ããŒããšè©äŸ¡ã¯ãæå®ãããæ¡ä»¶ãæºãããããšãã«çºçããŸãããã®å Žåãåçã«ã€ã³ããŒããããã¢ãžã¥ãŒã«ãããŠã³ããŒããããŸããããšãã°ãç¹å®ã®ãã©ãŠã¶ã§ã®ã¿ããªãã£ã«ãããŠã³ããŒããããæ¡ä»¶ããåã®äŸã®ããã«ããŠãŒã¶ãŒæäœã«ã€ã³ããŒããããã¢ãžã¥ãŒã«ãå¿
èŠãªæ¡ä»¶ãªã©ããããŸãã
äžæ¹ãSplitChunksPlugin
æ§æã倿Žã㊠chunks: initial
ãæå®ãããšãã³ãŒãã¯åæãã£ã³ã¯ã§ã®ã¿åå²ãããŸãããããã¯ãéçã«ã€ã³ããŒãããããã£ã³ã¯ããwebpack ã® entry
ããããã£ã«ãªã¹ããããŠãããã£ã³ã¯ãªã©ã§ããäžèšã®äŸã§ã¯ãçµæãšããŠåŸããããã£ã³ã¯ã¯ 1 ã€ã®ã¹ã¯ãªãã ãã¡ã€ã«å
ã® form-validation.js
ãš main.js
ã®çµã¿åããã«ãªããåæããŒãžèªã¿èŸŒã¿ã®ããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãã
SplitChunksPlugin
ã®ãªãã·ã§ã³ãæ§æããŠã倧ããªã¹ã¯ãªãããè€æ°ã®å°ããªã¹ã¯ãªããã«åå²ããããšãã§ããŸããããšãã°ãmaxSize
ãªãã·ã§ã³ã䜿çšããŠãmaxSize
ã§æå®ããããµã€ãºãè¶
ãããã£ã³ã¯ãåå¥ã®ãã¡ã€ã«ã«åå²ããããã« webpack ã«æç€ºããŸãã倧ããªã¹ã¯ãªãã ãã¡ã€ã«ãå°ããªãã¡ã€ã«ã«åå²ãããšãèªã¿èŸŒã¿ã®å¿çæ§ãåäžããå¯èœæ§ããããŸããCPU 䜿çšçã®é«ãã¹ã¯ãªããè©äŸ¡äœæ¥ãå°ããªã¿ã¹ã¯ã«åå²ãããã¡ã€ã³ã¹ã¬ãããé·æéãããã¯ãããå¯èœæ§ãäœããªãããã§ãã
ãŸããJavaScript ãã¡ã€ã«ã®ãµã€ãºã倧ãããªããšãã¹ã¯ãªããã§ãã£ãã·ã¥ã®ç¡å¹åãçºçãããããªããŸããããšãã°ããã¬ãŒã ã¯ãŒã¯ãšãã¡ãŒã¹ã ããŒã㣠ã¢ããªã±ãŒã·ã§ã³ ã³ãŒãã®äž¡æ¹ãå«ãéåžžã«å€§ããªã¹ã¯ãªãããé ä¿¡ããå Žåããã¬ãŒã ã¯ãŒã¯ã®ã¿ãæŽæ°ããããã³ãã«ããããªãœãŒã¹ã®ä»ã®éšåãæŽæ°ãããªããšããã³ãã«å šäœãç¡å¹ã«ãªãå¯èœæ§ããããŸãã
äžæ¹ãã¹ã¯ãªãã ãã¡ã€ã«ãå°ãããããšãå蚪åè ããã£ãã·ã¥ãããªãœãŒã¹ãååŸããå¯èœæ§ãé«ãŸããå蚪åæã®ããŒãžèªã¿èŸŒã¿ãéããªããŸãããã ããå°ãããã¡ã€ã«ã¯å€§ãããã¡ã€ã«ã»ã©å§çž®ã®ã¡ãªãããå°ãªãããã©ãŠã¶ã®ãã£ãã·ã¥ããã©ã€ãã³ã°ãããŠããªãç¶æ ã§ããŒãžãèªã¿èŸŒããšããããã¯ãŒã¯ã®ã©ãŠã³ã ããªããæéãé·ããªãå¯èœæ§ããããŸãããã£ãã·ã¥ä¿åã®å¹çãå§çž®ã®æå¹æ§ãã¹ã¯ãªããã®è©äŸ¡æéã®ãã©ã³ã¹ãåãå¿ èŠããããŸãã
webpack ãã¢
webpack SplitChunksPlugin
ãã¢ã
ç解床ãã¹ã
ã³ãŒãåå²ãå®è¡ãããšãã«äœ¿çšããã import
ã¹ããŒãã¡ã³ãã®ã¿ã€ãã¯ã©ãã§ããïŒ
import()
ãimport
ã
JavaScript ã¢ãžã¥ãŒã«ã®å
é ã«èšè¿°ããå¿
èŠããããä»ã®å Žæã«ã¯èšè¿°ã§ããªã import
ã¹ããŒãã¡ã³ãã¯ã©ãã§ããïŒ
import()
ãimport
ã
webpack ã§ SplitChunksPlugin
ã䜿çšããå Žåãasync
ãã£ã³ã¯ãš initial
ãã£ã³ã¯ã®éãã¯äœã§ããïŒ
async
ãã£ã³ã¯ã¯åç import()
ã䜿çšããŠèªã¿èŸŒãŸããinitial
ãã£ã³ã¯ã¯éç import
ã䜿çšããŠèªã¿èŸŒãŸããŸããasync
ãã£ã³ã¯ã¯éç import
ã䜿çšããŠèªã¿èŸŒãŸããinitial
ãã£ã³ã¯ã¯åç import()
ã䜿çšããŠèªã¿èŸŒãŸããŸããæ¬¡ã®ã¹ããã: ç»åãš <iframe>
èŠçŽ ã®é
å»¶èªã¿èŸŒã¿
JavaScript ã¯æ¯èŒçã³ã¹ãã®é«ããªãœãŒã¹ã¿ã€ãã§ãããèªã¿èŸŒã¿ãé
å»¶ã§ããã®ã¯ JavaScript ã ãã§ã¯ãããŸãããç»åèŠçŽ ãš <iframe>
èŠçŽ ã¯ãããèªäœãã³ã¹ãã®ããããªãœãŒã¹ã«ãªãå¯èœæ§ããããŸããJavaScript ãšåæ§ã«ãé
å»¶èªã¿èŸŒã¿ã«ãã£ãŠç»åãš <iframe>
èŠçŽ ã®èªã¿èŸŒã¿ãé
ãããããšãã§ããŸããããã«ã€ããŠã¯ããã®ã³ãŒã¹ã®æ¬¡ã®ã¢ãžã¥ãŒã«ã§èª¬æããŸãã