рдмрдбрд╝реЗ JavaScript рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ, рдкреЗрдЬ рдХреА рд╕реНрдкреАрдб рдкрд░ рдХрд╛рдлрд╝реА рдЕрд╕рд░ рдкрдбрд╝рддрд╛ рд╣реИ. рдЕрдкрдиреЗ JavaScript рдХреЛ рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрдХрд░, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рд╕рд┐рд░реНрдлрд╝ рдЬрд╝рд░реВрд░реА рдХреЙрдиреНрдЯреЗрдВрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ, рдЖрдкрдХреЗ рдкреЗрдЬ рдХреЗ рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрд╛рдлрд╝реА рд╣рдж рддрдХ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕рд╕реЗ рдЖрдкрдХреЗ рдкреЗрдЬ рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдЯреВ рдиреЗрдХреНрд╕реНрдЯ рдкреЗрдВрдЯ (рдЖрдИрдПрдирдкреА) рдХреЛ рднреА рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.
рдЬрдм рдХреЛрдИ рдкреЗрдЬ рдмрдбрд╝реА JavaScript рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб, рдкрд╛рд░реНрд╕, рдФрд░ рдХрдВрдкрд╛рдЗрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╡рд╣ рдкреЗрдЬ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛. рдкреЗрдЬ рдХреЗ рдПрд▓рд┐рдореЗрдВрдЯ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреЗрдЬ рдХреЗ рд╢реБрд░реБрдЖрддреА рдПрдЪрдЯреАрдПрдордПрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рд╕реНрдЯрд╛рдЗрд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ. рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрди рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдПрд▓рд┐рдореЗрдВрдЯ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреЗрдЬ рдкрд░ рд▓реЛрдб рдХреА рдЧрдИ рдЕрдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, JavaScript рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ. рдЗрд╕рд▓рд┐рдП, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдПрд▓рд┐рдореЗрдВрдЯ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, JavaScript рдХреЛ рдкрд╛рд░реНрд╕ рдФрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реЛ. рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдореЗрдВ рдХрд╛рдлрд╝реА рджреЗрд░реА рд╣реБрдИ рд╣реИ рдпрд╛ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ.
рдЖрдо рддреМрд░ рдкрд░, рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдереНрд░реЗрдб рдмреНрд▓реЙрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ JavaScript рдХреЛ рдореБрдЦреНрдп рдереНрд░реЗрдб рдкрд░ рдкрд╛рд░реНрд╕ рдФрд░ рдХрдВрдкрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЕрдЧрд░ рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкреЗрдЬ рдПрд▓рд┐рдореЗрдВрдЯ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЗрдирдкреБрдЯ рдХрд╛ рддреБрд░рдВрдд рдЬрд╡рд╛рдм рди рджреЗ рдкрд╛рдПрдВ. рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд░реНрдлрд╝ рд╡рд╣реА JavaScript рд▓реЛрдб рдХрд░реЗрдВ рдЬреЛ рдкреЗрдЬ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА рд╣реИ. рд╕рд╛рде рд╣реА, рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрдиреЗ рдХреА рддрдХрдиреАрдХ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, рдмрд╛рдХреА JavaScript рдХреЛ рдмрд╛рдж рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВ. рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рдЗрди рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рджреВрд╕рд░реА рддрдХрдиреАрдХ рдкрд░ рдлрд╝реЛрдХрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.
рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди JavaScript рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдирд╛
Lighthouse рддрдм рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрдм JavaScript рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рджреЛ рд╕реЗрдХрдВрдб рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ.рд╕рд╛рде рд╣реА, рддреАрди рд╕реЗрдХрдВрдб рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдордп рд▓рдЧрдиреЗ рдкрд░, рдпрд╣ рдХрд╛рдо рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛. рдкреЗрдЬ рдХреЗ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдкрд░, рдЬрд╝реНрдпрд╛рджрд╛ JavaScript рдкрд╛рд░реНрд╕ рдФрд░ рдПрдХреНрд╕реАрдХреНрдпреВрд╢рди рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рд╣реИ. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕ рд╕рдордп рдкреЗрдЬ рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрдм JavaScript рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдФрд░ рдПрдХреНрд╕реАрдХреНрдпреВрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореБрдЦреНрдп рдереНрд░реЗрдб рдХреЗ рдЯрд╛рд╕реНрдХ рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдЗрдирдкреБрдЯ рдбрд┐рд▓реЗ рдореЗрдВ рдмрдврд╝реЛрддрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ.
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢реБрд░реБрдЖрддреА рдкреЗрдЬ рд▓реЛрдб рдХреЗ рджреМрд░рд╛рди, рдЬрд╝реНрдпрд╛рджрд╛ JavaScript рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рд╕реЗ рдЦрд╛рд╕ рддреМрд░ рдкрд░ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдкреЗрдЬ рдХреЗ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдореЗрдВ рдпрд╣ рд╡рд╣ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреЗрдЬ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЬрд╝реНрдпрд╛рджрд╛ рд╣реЛрддреА рд╣реИ. рдЕрд╕рд▓ рдореЗрдВ, рдХреБрд▓ рдмреНрд▓реЙрдХрд┐рдВрдЧ рд╕рдордп (рдЯреАрдмреАрдЯреА), рд▓реЛрдб рд░рд┐рд╕реНрдкреЙрдиреНрд╕рд┐рд╡рд┐рдЯреА рдореЗрдЯреНрд░рд┐рдХ рд╣реИ. рдпрд╣ INP рд╕реЗ рдХрд╛рдлрд╝реА рдореЗрд▓ рдЦрд╛рддреА рд╣реИ. рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкреЗрдЬ рдХреЗ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ.
Lighthouse рдСрдбрд┐рдЯ, рдЖрдкрдХреЗ рдкреЗрдЬ рдХреЗ рдЕрдиреБрд░реЛрдз рд╡рд╛рд▓реА рд╣рд░ JavaScript рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИ. рдпрд╣ рдСрдбрд┐рдЯ рдЗрд╕ рд▓рд┐рд╣рд╛рдЬрд╝ рд╕реЗ рдлрд╝рд╛рдпрджреЗрдордВрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреМрдирд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж, Chrome DevTools рдореЗрдВ рдХрд╡рд░реЗрдЬ рдЯреВрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди, рдкреЗрдЬ рдХреЗ JavaScript рдХреЗ рдХрд┐рди рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛.
рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдПрдХ рдХрд╛рдо рдХреА рддрдХрдиреАрдХ рд╣реИ. рдЗрд╕рд╕реЗ рдХрд┐рд╕реА рдкреЗрдЬ рдХреЗ рд╢реБрд░реБрдЖрддреА JavaScript рдкреЗрд▓реЛрдб рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рдХрд┐рд╕реА JavaScript рдмрдВрдбрд▓ рдХреЛ рджреЛ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЬрд╝рд░реВрд░реА JavaScript, рдХрд┐рд╕реА рдФрд░ рд╕рдордп рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛.
- рдмрд╛рдХреА JavaScript, рдмрд╛рдж рдореЗрдВ рд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ. рдЖрдо рддреМрд░ рдкрд░, рдЗрд╕реЗ рддрдм рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреЗрдЬ рдкрд░ рдХрд┐рд╕реА рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдПрд▓рд┐рдореЗрдВрдЯ рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ.
рдбрд╛рдЗрдиреИрдорд┐рдХ import() рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕, <script> рдПрд▓рд┐рдореЗрдВрдЯ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рджрд┐рдП рдЧрдП JavaScript рд░рд┐рд╕реЙрд░реНрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ. рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕, рдкреЗрдЬ рдХреЗ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА 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 рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ, validate-form.mjs рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рд┐рд░реНрдлрд╝ рддрдм рдбрд╛рдЙрдирд▓реЛрдб, рдкрд╛рд░реНрд╕, рдФрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝реЙрд░реНрдо рдХреЗ рдХрд┐рд╕реА рднреА <input> рдлрд╝реАрд▓реНрдб рдХреЛ рдзреБрдВрдзрд▓рд╛ рдХрд░рддрд╛ рд╣реИ. рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд╝реЙрд░реНрдо рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓реЙрдЬрд┐рдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ JavaScript рд░рд┐рд╕реЙрд░реНрд╕, рдкреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рд┐рд░реНрдлрд╝ рддрдм рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдЙрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╣реЛрддреА рд╣реИ.
webpack, Parcel, Rollup, рдФрд░ esbuild рдЬреИрд╕реЗ JavaScript рдмрдВрдбрд▓рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡реЗ рдЖрдкрдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдбрд╛рдЗрдиреИрдорд┐рдХ import() рдХреЙрд▓ рдорд┐рд▓рдиреЗ рдкрд░, JavaScript рдмрдВрдбрд▓ рдХреЛ рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯ рд╕рдХреЗрдВ. рдЗрдирдореЗрдВ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рдЯреВрд▓, рдРрд╕рд╛ рдЕрдкрдиреЗ-рдЖрдк рдХрд░рддреЗ рд╣реИрдВ. рд╣рд╛рд▓рд╛рдВрдХрд┐, esbuild рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдореЗрдВ рдСрдкреНрдЯ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛.
рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдо рдХреА рдЬрд╛рдирдХрд╛рд░реА
рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛, рд╢реБрд░реБрдЖрддреА рдкреЗрдЬ рд▓реЛрдб рдХреЗ рджреМрд░рд╛рди рдореБрдЦреНрдп рдереНрд░реЗрдб рдХреЗ рдХреЙрдиреНрдЯреЗрдВрдЯ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрд╕рд░рджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ. рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ JavaScript рд╕реЛрд░реНрд╕ рдХреЛрдб рдХрд╛ рдСрдбрд┐рдЯ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдмрд╛рддреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ.
рдЕрдЧрд░ рд╣реЛ рд╕рдХреЗ, рддреЛ рдмрдВрдбрд▓рд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ
рдбреЗрд╡рд▓рдкрд░, рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕ рдХреЗ рджреМрд░рд╛рди JavaScript рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЖрдо рддреМрд░ рдкрд░ рдХрд░рддреЗ рд╣реИрдВ. рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░реАрди рд╕реБрд╡рд┐рдзрд╛ рд╣реИ. рдЗрд╕рд╕реЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдЙрд╕реЗ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрддреА рд╣реИ. рд╣рд╛рд▓рд╛рдВрдХрд┐, JavaScript рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рд╢рд┐рдк рдХрд░рдиреЗ рдкрд░, рдкрд░рдлрд╝реЙрд░реНрдореЗрдВрд╕ рд╕реЗ рдЬреБрдбрд╝реА рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд╕рдХрддреА рд╣реИрдВ.
рд╕рдмрд╕реЗ рдЬрд╝рд░реВрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрдВрдбрд▓рд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП. рдЗрд╕рдореЗрдВ рд╡реЗ рдореЙрдбреНрдпреВрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдХреЛрдб рд╕реНрдкреНрд▓рд┐рдЯ рдХрд░рдирд╛ рд╣реИ. рдмрдВрдбрд▓рд░, JavaScript рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде, рдкрд░рдлрд╝реЙрд░реНрдореЗрдВрд╕ рд╕реЗ рдЬреБрдбрд╝реА рдмрд╛рддреЛрдВ рдХреЛ рднреА рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлрд╝реА рдЕрд╕рд░рджрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ. рдЬреИрд╕реЗ, рдХрдВрдкреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдмрдВрдбрд▓ рдХрд╛ рд╕рд╛рдЗрдЬрд╝. рдмрдВрдбрд▓ рдХреЗ рд╕рд╛рдЗрдЬрд╝ рдХреЗ рд╕рд╛рде, рдХрдВрдкреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрдврд╝рддреА рд╣реИ. рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрдВрдбрд▓рд░ рдпрд╣ рднреА рдкрдХреНрдХрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдмрдВрдбрд▓ рдЗрддрдиреЗ рдмрдбрд╝реЗ рди рд╣реЛрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЬрд╛рдВрдЪ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдордп рд▓рдЧреЗ.
рдмрдВрдбрд▓рд░, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрд┐рдирд╛ рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рд╢рд┐рдк рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рднреА рдмрдЪрддреЗ рд╣реИрдВ. JavaScript рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ, рдмрдбрд╝реЗ рдФрд░ рдЬрдЯрд┐рд▓ рдореЙрдбреНрдпреВрд▓ рдЯреНрд░реА рд╣реЛрддреЗ рд╣реИрдВ. рдореЙрдбреНрдпреВрд▓ рдЯреНрд░реА рдХреЛ рдЕрдирдмрдВрдб рдХрд░рдиреЗ рдкрд░, рд╣рд░ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдЕрд▓рдЧ рдПрдЪрдЯреАрдЯреАрдкреА рдЕрдиреБрд░реЛрдз рджрд┐рдЦрд╛рддрд╛ рд╣реИ. рд╕рд╛рде рд╣реА, рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрдВрдбрд▓ рди рдХрд░рдиреЗ рдкрд░, рдЖрдкрдХреЗ рд╡реЗрдм рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡рд┐рдЯреА рдореЗрдВ рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ. рдмрдбрд╝реЗ рдореЙрдбреНрдпреВрд▓ рдЯреНрд░реА рдХреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, <link rel="modulepreload"> рд░рд┐рд╕реЙрд░реНрд╕ рд╣рд┐рдВрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓реЛрдбрд┐рдВрдЧ рдХреА рдкрд░рдлрд╝реЙрд░реНрдореЗрдВрд╕ рдХреЗ рд▓рд┐рд╣рд╛рдЬрд╝ рд╕реЗ, JavaScript рдмрдВрдбрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЕрдм рднреА рдмреЗрд╣рддрд░ рд╣реИ.
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрдВрдкрд╛рдЗрд▓реЗрд╢рди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЧрд▓рддреА рд╕реЗ рдмрдВрдж рди рдХрд░реЗрдВ
Chromium рдХрд╛ V8 JavaScript рдЗрдВрдЬрди, рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддрд╛ рд╣реИ. рдЗрд╕рд╕реЗ рдпрд╣ рдкрдХреНрдХрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдбрдХреНрд╢рди JavaScript рдХреЛрдб, рдЬрд╝реНрдпрд╛рджрд╛ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд▓реЛрдб рд╣реЛ. рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрдВрдкрд╛рдЗрд▓реЗрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ. рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╕реНрдЯреНрд░реАрдо рдХрд┐рдП рдЧрдП рдПрдЪрдЯреАрдПрдордПрд▓ рдХреА рдЗрдВрдХреНрд░реАрдореЗрдВрдЯрд▓ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ. рдпрд╣ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ 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 рд╡рд┐рдХрд▓реНрдк рддрдп рдХрд░рдХреЗ, SplitChunksPlugin рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
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');
}
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд▓рд┐рдП, рд╡реЗрдмрдкреИрдХ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрдВрдХ рдмрдирддреЗ рд╣реИрдВ:
main.jsрдЪрдВрдХ, рдЬрд┐рд╕реЗ рд╡реЗрдмрдкреИрдХinitialрдЪрдВрдХ рдХреЗ рддреМрд░ рдкрд░ рдмрд╛рдВрдЯрддрд╛ рд╣реИ. рдЗрд╕рдореЗрдВmain.jsрдФрд░./my-function.jsрдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ.asyncрдЪрдВрдХ, рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рд░реНрдлрд╝form-validation.jsрд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ. рдЕрдЧрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдирд╛рдо рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╣реИрд╢ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ. рдпрд╣ рдЪрдВрдХ рд╕рд┐рд░реНрдлрд╝ рддрдм рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмconditionрд╕рд╣реА рд╣реЛ.
рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдорджрдж рд╕реЗ, form-validation.js рдЪрдВрдХ рдХреЛ рддрдм рддрдХ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЙрд╕рдХреА рдЬрд╝рд░реВрд░рдд рди рдкрдбрд╝реЗ. рдЗрд╕рд╕реЗ, рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЬрд╛рдВрдЪ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдХреЗ, рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. form-validation.js рдЪрдВрдХ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЙрд╕рдХрд╛ рдЖрдХрд▓рди рддрдм рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдХреЛрдИ рдЦрд╛рд╕ рд╢рд░реНрдд рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбрд╛рдЗрдиреИрдорд┐рдХ рддреМрд░ рдкрд░ рдЗрдВрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореЙрдбреНрдпреВрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ polyfill рд╕рд┐рд░реНрдлрд╝ рдХрд┐рд╕реА рдЦрд╛рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдпрд╛тАФрдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИтАФрдЗрдВрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореЙрдбреНрдпреВрд▓, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА рд╣реЛ.
рджреВрд╕рд░реА рдУрд░, SplitChunksPlugin рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ chunks: initial рдХреЗ рддреМрд░ рдкрд░ рддрдп рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдкрдХреНрдХрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рд╕рд┐рд░реНрдлрд╝ рд╢реБрд░реБрдЖрддреА рдЪрдВрдХ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЬрд╛рдП. рдпреЗ рдРрд╕реЗ рдЪрдВрдХ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдЯреИрдЯрд┐рдХ рддреМрд░ рдкрд░ рдЗрдВрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд╡реЗрдмрдкреИрдХ рдХреА entry
рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рд▓рд┐рд╕реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ. рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдирддреАрдЬрд╛ рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ form-validation.js рдФрд░ main.js рдХрд╛ рдХреЙрдореНрдмрд┐рдиреЗрд╢рди рд╣реЛрдЧрд╛. рдЗрд╕рд╕реЗ, рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдХреА рд╢реБрд░реБрдЖрддреА рдкрд░рдлрд╝реЙрд░реНрдореЗрдВрд╕ рдЦрд░рд╛рдм рд╣реЛ рд╕рдХрддреА рд╣реИ.
SplitChunksPlugin рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдХреЗ, рдмрдбрд╝реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрдИ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рднреА рдмрд╛рдВрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, maxSize рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, webpack рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдВ рдХрд┐ рдЕрдЧрд░ рдЪрдВрдХ, maxSize рдореЗрдВ рдмрддрд╛рдИ рдЧрдИ рд╕реАрдорд╛ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╣реЛ рдЬрд╛рдПрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯ рджреЗрдВ. рдмрдбрд╝реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрдиреЗ рд╕реЗ, рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реАрдкреАрдпреВ рдкрд░ рдЬрд╝реНрдпрд╛рджрд╛ рд▓реЛрдб рдбрд╛рд▓рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЖрдХрд▓рди рдХреЗ рдХрд╛рдо рдХреЛ рдЫреЛрдЯреЗ рдЯрд╛рд╕реНрдХ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЗрди рдЯрд╛рд╕реНрдХ рдХреА рд╡рдЬрд╣ рд╕реЗ, рдореБрдЦреНрдп рдереНрд░реЗрдб рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмреНрд▓реЙрдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реЛрддреА рд╣реИ.
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрдбрд╝реА 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 рд╣реА рдРрд╕рд╛ рд░рд┐рд╕реЙрд░реНрд╕ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ рджреЗрд░реА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ. рдЗрдореЗрдЬ рдФрд░ <iframe> рдПрд▓рд┐рдореЗрдВрдЯ, рд╕рдВрднрд╛рд╡рд┐рдд рддреМрд░ рдкрд░ рдорд╣рдВрдЧреЗ рд╕рдВрд╕рд╛рдзрди рд╣реЛрддреЗ рд╣реИрдВ. JavaScript рдХреА рддрд░рд╣ рд╣реА, рдЗрдореЗрдЬ рдФрд░ <iframe> рдПрд▓рд┐рдореЗрдВрдЯ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рд▓реЛрдб рдХрд░рдХреЗ, рдЗрдиреНрд╣реЗрдВ рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рдХреЛрд░реНрд╕ рдХреЗ рдЕрдЧрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ.