рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рдЖрдпрд╛рдд

рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рдЖрдпрд╛рдд рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдерд╛ред рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдм рдХреЗрд╡рд▓ рд╕реНрдереИрддрд┐рдХ рдЖрдпрд╛рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЖрдЧрд╛рдореА ECMAScript рдЕрдкрдбреЗрдЯ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╕рдВрд╕реНрдХрд░рдг 63 рдХреЗ рд╕рд╛рде Google Chrome рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд╣рд╛рдВ рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИред


рдбрд╛рдпрдиреЗрдорд┐рдХ рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдереИрддрд┐рдХ рдЖрдпрд╛рдд рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИрдВ:


рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЧрддрд┐рд╢реАрд▓ рдЖрдпрд╛рдд рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд╕рдорд╛рди рд╣реИ: рдЖрдпрд╛рдд ('рдкрде / рд╕реЗ / рдореЙрдбреНрдпреВрд▓.рдЬреЗрдПрд╕');


рдЖрдпрд╛рдд ('рдкрд╛рде / рдЯреВ / рдлрд╛рдЗрд▓.рдЬреЗрдПрд╕') рдХрдорд╛рдВрдб рдкреНрд░реЙрдорд┐рд╕ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рдХреЛ рдЦреАрдВрдЪреЗ рдЬрд╛рдиреЗ рдФрд░ рд╕реАрдзреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╣реА рдЙрд╕рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдмрд╛рдж рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:


import('path/to/module.js') .then(module => { module.loadPageInto(main); }) .catch(err => { main.textContent = err.message; }); 

рдпрд╛ рдЗрд╕ рддрд░рд╣ рднреА:


 const module = await import('path/to/module.js'); 

рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ: рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбрд╛рдпрдирд╛рдорд┐рдХ рдЖрдпрд╛рдд рд╡рд╛рдХреНрдпрдЧрдд рд╣реИ рдФрд░ рдЖрдпрд╛рдд () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИред рдпрд╣ Function.prototype рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреЙрд▓ рдпрд╛ рдЖрд╡реЗрджрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдбрд╛рдпрдиреЗрдорд┐рдХ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ, рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреЗрдПрд╕ рдХреЗ рдкрд╛рд╕ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдПрдХ рд╕рдорд╛рди рдЕрд╡рд╕рд░ рдФрд░ рд╡реЗрдмрдкреИрдХ рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ, рддреЛ рднреА, рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ рдиреЗ рд╢рд╛рдпрдж рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдЕрдм рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рддрд░рдл, рд░рдирдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди, рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рдЕрдзрд┐рдХ рднреНрд░рд╛рдордХ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдмреБрд░рд╛ рдХреЛрдб рдЪрд┐рдкрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЕрдкрдиреА рд░рд╛рдп рд▓рд┐рдЦреЗрдВ, рдЖрдк рдЧрддрд┐рд╢реАрд▓ рдЖрдпрд╛рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред


рдЖрдк рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
https://github.com/tc39/proposal-dynamic-import
https://developers.google.com/web/updates/2017/11/dynamic-import
https://www.youtube.com/watch?v=eg8eLH52d4s&t=31s

Source: https://habr.com/ru/post/hi455200/


All Articles