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

рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА
рд╡реЗрдмрдкреИрдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рджреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рд░рдгрдиреАрддрд┐рдпрд╛рдБ рд╣реИрдВред рдпрд╣ рдмрдВрдбрд▓ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рд╣реИред рдЗрди рд╢рд░реНрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред
- рдмрдВрдбрд▓ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдХрдИ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрдбрд╝реЗ рдмрдВрдбрд▓ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдПрдХ рддрдХрдиреАрдХ рд╣реИ, рдЬреЛ рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдРрд╕реА рдлрд╛рдЗрд▓реЗрдВ, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдмрдВрдбрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╕рд╛рдЗрдЯ рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕ рддрдХрдиреАрдХ рдХреА рддрд╛рдХрдд рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рдХреИрд╢рд┐рдВрдЧ рддрдВрддреНрд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╣реИред
- рдХреЛрдб рдкреГрдердХреНрдХрд░рдг рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдб рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдЙрд╕ рдХреЛрдб рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░ рд╕рд╛рдЗрдЯ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдХреЛрдб рдмрдВрдЯрд╡рд╛рд░реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИред рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╡рд┐рд╖рдп рдкрд░ рдХрдИ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореБрдЦреНрдп рдзреНрдпрд╛рди рдХреЛрдб рдХреЗ рдкреГрдердХреНрдХрд░рдг рдкрд░ рд╣реИ, рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рд╕рд╛рдЗрдЯ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рд╛рд░реНрдердХ рддрд░реАрдХрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХрдИ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓реА рд░рдгрдиреАрддрд┐ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореВрд▓реНрдпрд╡рд╛рди рд╣реИ - рдмрдВрдбрд▓реЛрдВ рдХрд╛ рдкреГрдердХреНрдХрд░рдгред рдФрд░, рд╢рд╛рдпрдж, рд╕рдЪрдореБрдЪ рд╕рднреА рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЬреАрдд рд╕рдХрддреА рд╣реИрдВред
рдЖрдЗрдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рдмрдВрдбрд▓реЛрдВ рдХрд╛ рдЕрд▓рдЧ рд╣реЛрдирд╛
рдмрдВрдбрд▓реЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рдореЗрдВ рдПрдХ рд╕рд┐рдВрдЧрд▓ рд▓рд╛рдЗрди рдХреЛрдб рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдиреЗ рдХреЗ рдмрд╛рдж рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рдЙрд╕реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреИрд╢ рд╕реЗ рд▓реА рдЬрд╛рдПрдЧреАред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдмрдВрдбрд▓реЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХреИрд╢рд┐рдВрдЧ рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡реИрд╕реЗ рднреА рд╕рднреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдХрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред ред
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрд░реНрдЪрд╛ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд╣реИ рдЬреЛ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЖрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ рдРрд╕рд╛ рд╣реИ, рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдкрд╣рд▓реА рдЫрд╛рдк рдХреЗ рдорд╣рддреНрд╡ рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдмрдирд╛рдпреЗрдЧреА, рд╕рд╛рде рд╣реА рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЬрдм рд╡реЗ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдЬрдм рдирд┐рдпрдорд┐рдд рдЖрдЧрдВрддреБрдХреЛрдВ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдЙрдирдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╕рд╛рдордЧреНрд░реА рдЕрдиреБрдХреВрд▓рди рддрдХрдиреАрдХреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдорд╛рдкрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдмрд╕ рдРрд╕реЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрди рдмрд╛рддреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдХреА рддрд░рд╣ рдХреБрдЫ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рд╢рд░реНрддреЛрдВ рдХреА рдПрдХ рд╕рдЦреНрдд рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕рдХреЗ рддрд╣рдд рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЕрдзреНрдпрдпрди рдХрд┐рдП рдЧрдП рдХреИрд╢рд┐рдВрдЧ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╡рд░рдг рдХреЛ рдлрд┐рдЯ рдХрд░рддрд╛ рд╣реИ:
- рдРрд▓рд┐рд╕ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ 10 рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИред
- рд╣рдо рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ рд╕рд╛рдЗрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред
- рд╣рд░ рд╣рдлреНрддреЗ, рд╣рдо рдЙрддреНрдкрд╛рдж рд╕реВрдЪреА рдкреГрд╖реНрда рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред
- рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рдж рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкреГрд╖реНрда рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рддрдХ рдЗрд╕ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- рдкрд╛рдВрдЪрд╡реЗрдВ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдирдпрд╛ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
- рдЖрдард╡реЗрдВ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдРрд╕реЗ рд▓реЛрдЧ (рдореЗрд░реЗ рдЬреИрд╕реЗ) рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ - рд╣рдо рдЬрд▓реНрдж рд╣реА рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред
тЦН рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢рд░реНрддреЗрдВ
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрдХреЗрдЬ рдХрд╛ рдХреБрд▓ рдЖрдХрд╛рд░ рдХрд╛рдлреА 400 Kb рд╣реИ рдФрд░ рд╣рдо, рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рдм рдПрдХ рд╣реА
main.js
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ
main.js
рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рд╣реИ (рдореИрдВрдиреЗ рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬреЛ рд╣рдорд╛рд░реА рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ):
const path = require('path'); module.exports = { entry: path.resolve(__dirname, 'src/index.js'), output: { path: path.resolve(__dirname, 'dist'), filename: '[name].[contenthash].js', }, };
main.js
рдкрд░рд┐рдгрд╛рдореА
main.js
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд╛рдо рджреЗрддрд╛ рд╣реИ рдЬрдм рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдПрдХрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛрддреА рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреИрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдпрд╣рд╛рдВ
main.js
рд▓рд┐рдЦрддрд╛
main.js
, рддреЛ рдореЗрд░рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
main.xMePWxHo.js
рдЬреИрд╕рд╛ рдХреБрдЫ
main.xMePWxHo.js
ред рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рдХреНрд░реЗрдЬрд╝реА рдЕрдиреБрдХреНрд░рдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рд╣реИрд╢ рд╣реИ, рдЬрд┐рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ
contenthash
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐, рдХреЛрдб рдмрджрд▓рддреЗ рд╕рдордп, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рднреА рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬрдм рд╣рдо рд╣рд░ рд╣рдлреНрддреЗ рд╕рд╛рдЗрдЯ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреИрдХреЗрдЬ рдХреА
contenthash
рд▓рд╛рдЗрди рдмрджрд▓ рдЬрд╛рддреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдХрд░, рдРрд▓рд┐рд╕ 400 Kb рдХреА рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИред
рдпрджрд┐ рд╣рдо рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЗ рдкреНрд░рддрд┐ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рдХреА рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдорд╛рддреНрд░рд╛ рдкрд░ рдбреЗрдЯрд╛ рдпреБрдХреНрдд рдПрдХ рдЕрдЪреНрдЫреА рдЯреИрдмрд▓реЗрдЯ (рдЕрдм рддрдХ рдмреЗрдХрд╛рд░ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рд▓реА рд▓рд╛рдЗрди) рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ 10 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ, 4.12 рдПрдордмреА рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ред рдЗрд╕ рд╕реВрдЪрдХ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Code рдореБрдЦреНрдп рдХреЛрдб рд╕реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдкреГрдердХреНрдХрд░рдг
рдмрдбрд╝реЗ рдкреИрдХреЗрдЬ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВред рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдХреЛрдб
main.js
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдЧрд╛, рдФрд░
main.js
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЛрдб рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣рдореЗрдВ рдЗрд╕рд╕реЗ рдорджрдж рдХрд░реЗрдЧрд╛:
const path = require('path'); module.exports = { entry: path.resolve(__dirname, 'src/index.js'), output: { path: path.resolve(__dirname, 'dist'), filename: '[name].[contenthash].js', }, optimization: { splitChunks: { chunks: 'all', }, }, };
рд╡реЗрдмрдкреИрдХ 4 рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╣ рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд╣ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реЗ рдмрдВрдбрд▓реЛрдВ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдареАрдХ рд╕реЗ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдХреБрдЫ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ: "рдареАрдХ рд╣реИ, рдЗрд╕ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЖрдХрд░реНрд╖рдг рдХреНрдпрд╛ рд╣реИ", рдФрд░ рднрд╛рд╡рдирд╛ рдХреЗ рдХрдИ рд╕рд╡рд╛рд▓: "рдпрд╣ рдореЗрд░реЗ рдмрдВрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?"ред
рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
optimization.splitChunks.chunks = 'all'
ред
node_modules
optimization.splitChunks.chunks = 'all'
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ
node_modules
рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ
node_modules
рд╕реЗ рд╕рдм рдХреБрдЫ рд▓реЗрдиреЗ рдФрд░ рдЗрд╕реЗ
vendors~main.js
рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
vendors~main.js
ред
рд╣рдо рдмрдВрдбрд▓ рдХреЗ рдРрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдкреГрдердХреНрдХрд░рдг рдХреЗ рдмрд╛рдж, рдРрд▓рд┐рд╕, рдЬреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд░реВрдк рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рд╣рд░ рдмрд╛рд░ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА 200 Kb рдХреА
main.js
рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╡рд╣ рдХреЗрд╡рд▓ рддреАрди рдмрд╛рд░
vendor.js
рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдпрд╣ рдкрд╣рд▓реЗ, рдкрд╛рдВрдЪрд╡реЗрдВ рдФрд░ рдЖрдард╡реЗрдВ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдпрд╛рддреНрд░рд╛рдУрдВ рдХреЗ рджреМрд░рд╛рди рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рдПрдХ рд╣реА рд╕рд╛рд░рдгреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рднрд╛рдЧреНрдп рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ, рдкрд╣рд▓реЗ рдЪрд╛рд░ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ
vendor.js
main.js
рдФрд░
vendor.js
рдХреЗ рдЖрдХрд╛рд░ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ рдФрд░ 200 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ 10 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ 2.64 рдПрдордмреА рдереАред рдЕрд░реНрдерд╛рддреН, рдмрдВрдбрд▓ рдХреЗ рдЕрд▓рдЧ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдорд╛рддреНрд░рд╛ 36% рдХрдо рд╣реЛ рдЧрдИ рдереАред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдРрд╕рд╛ рдмреБрд░рд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИред рд╡реИрд╕реЗ, рдЖрдЧреЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ - рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рднреА рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╡реЗрдмрдкреИрдХ 3 рд╕реЗ 4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рддреЛ рдЗрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдЕрднреА рднреА рдореБрдлреНрдд рд╣реИред
рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдкрд░ рд╕реБрдзрд╛рд░ рдХреБрдЫ рд╣рдж рддрдХ рдЕрдореВрд░реНрдд рджрд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ 10 рд╕рдкреНрддрд╛рд╣ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рд╣рдо рдПрдХ рд╡рдлрд╛рджрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЗрд╕ рдорд╛рддреНрд░рд╛ рдореЗрдВ 36% рдХреА рдПрдХ рдИрдорд╛рдирджрд╛рд░ рдХрдореА рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдХреБрд▓ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░реЗрдВ
vendor.js
рдлрд╝рд╛рдЗрд▓ рдореВрд▓
main.js
рдХреЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рд╕реА рднреА рдкреИрдХреЗрдЬ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рд╣рдо рдкреНрд░рддреНрдпреЗрдХ npm рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ? рдРрд╕рд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреА
react
,
lodash
,
lodash
,
moment
, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛:
const path = require('path'); const webpack = require('webpack'); module.exports = { entry: path.resolve(__dirname, 'src/index.js'), plugins: [ new webpack.HashedModuleIdsPlugin(), // ], output: { path: path.resolve(__dirname, 'dist'), filename: '[name].[contenthash].js', }, optimization: { runtimeChunk: 'single', splitChunks: { chunks: 'all', maxInitialRequests: Infinity, minSize: 0, cacheGroups: { vendor: { test: /[\\/]node_modules[\\/]/, name(module) { // , node_modules/packageName/not/this/part.js // node_modules/packageName const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1]; // npm- , , // URL, @ return `npm.${packageName.replace('@', '')}`; }, }, }, }, }, };
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЖрдк рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд╕рдорд░реНрдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛ред
- рд╡реЗрдмрдкреИрдХ рдХреЗ рдкрд╛рд╕ рдХрд╛рдлреА рдЙрдЪрд┐рдд рдорд╛рдирдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрддрдиреЗ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ 3 рдкрд░ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИ, рдиреНрдпреВрдирддрдо рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ 30 KB рд╣реИ (рдЕрд░реНрдерд╛рдд, рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред
cacheGroups
рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдирд┐рдпрдореЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ cacheGroups
рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдореВрд╣ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░рд╛ рдпрд╣рд╛рдВ рдПрдХ рд╕рдореВрд╣ рд╣реИ, vendor
, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ node_modules
рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдорддреМрд░ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ name
рджрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлрд┐рд░ рдореИрдВ рдореЙрдбреНрдпреВрд▓ рдкрде рд╕реЗ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рд▓реЗрддрд╛ рд╣реВрдВред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, npm.react-dom.899sadfhj4.js
ред- рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо, рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ npm рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, URL рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ
packageName
рдирд╛рдореЛрдВ рдкрд░ packageName
рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдерд╛ рдХрд┐ .NET рд╕рд░реНрд╡рд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдирд╛рдо рдореЗрдВ @
рдкреНрд░рддреАрдХ рд╣реЛрддрд╛ рд╣реИ (рдРрд╕реЗ рдирд╛рдо рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рдирд╛рдо рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддрдерд╛рдХрдерд┐рдд рд╕реНрдХреЛрдк рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ), рдЗрд╕рд▓рд┐рдП рдореИрдВ, рдЗрд╕реА рдореЗрдВ рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛, рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИред
рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдиреНрдпрд╛рд╕ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдирд╛рдо рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХреА рд░рдЪрдирд╛ рдХреЗ рдмрд╛рдж, рдпрд╣, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред
рдРрд▓рд┐рд╕, рд╣рдорд╛рд░рд╛ рдирд┐рдпрдорд┐рдд рдЖрдЧрдВрддреБрдХ, рдЕрднреА рднреА рд╣рд░ рд╣рдлреНрддреЗ 200-рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ
main.js
, рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рд╡рд╣ рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ 200 Kb рдХрд╛ npm рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕реЗ рджреЛ рдмрд╛рд░ рдПрдХ рд╣реА рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдиреАрдЪреЗ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдПрдХ рдЕрдЬреАрдм рд╕рдВрдпреЛрдЧ рд╕реЗ, npm рд╕рдВрдХреБрд▓ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ 20 Kb рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛рдЕрдм 10 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ 2.24 рдПрдордмреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдордиреЗ рдмреЗрд╕ рд░реЗрдЯ рдореЗрдВ 44% рддрдХ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕рднреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ 50% рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЕрдЧрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
Ments рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рдЖрд╡реЗрджрди рдХреЛрдб рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛
рд╣рдо
main.js
рдлрд╝рд╛рдЗрд▓ рдкрд░
main.js
рд╣реИрдВ, рдЬрд┐рд╕реЗ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдРрд▓рд┐рд╕ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦрдВрдб рд╣реИрдВред рдкрд╣рд▓рд╛ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИ, рджреВрд╕рд░рд╛ рдЙрддреНрдкрд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓рд╛ рдПрдХ рдкреГрд╖реНрда рд╣реИред рдХреЛрдб рдХрд╛ рдЖрдХрд╛рд░, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп, 25 Kb (рдФрд░ 150 Kb рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рджреЛрдиреЛрдВ) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрддреНрдкрд╛рдж рдЬрд╛рдирдХрд╛рд░реА рдкреГрд╖реНрда рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рдкреВрд░реНрдг рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдЗрд╕рдХреЗ рдХреЛрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдлрд╝рд╛рдЗрд▓, рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп, рдХреИрд╢ рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреАред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдЗрдХрди рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрд╕рд╡реАрдЬреА рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╡рдЬрди 25 рдХреЗрдмреА рдЬрд┐рддрдирд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдмрджрд▓рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд╣рдордиреЗ рд╡реЗрдмрдкреИрдХ рдХреЛ рдмрддрд╛рддреЗ рд╣реБрдП рдХрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИ, рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдерд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
module.exports = { entry: { main: path.resolve(__dirname, 'src/index.js'), ProductList: path.resolve(__dirname, 'src/ProductList/ProductList.js'), ProductPage: path.resolve(__dirname, 'src/ProductPage/ProductPage.js'), Icon: path.resolve(__dirname, 'src/Icon/Icon.js'), }, output: { path: path.resolve(__dirname, 'dist'), filename: '[name].[contenthash:8].js', }, plugins: [ new webpack.HashedModuleIdsPlugin(), // ], optimization: { runtimeChunk: 'single', splitChunks: { chunks: 'all', maxInitialRequests: Infinity, minSize: 0, cacheGroups: { vendor: { test: /[\\/]node_modules[\\/]/, name(module) { // , node_modules/packageName/not/this/part.js // node_modules/packageName const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1]; // npm- , , // URL, @ return `npm.${packageName.replace('@', '')}`; }, }, }, }, }, };
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рд╛рд░реНрдб-рд╡рд░реНрдХрд┐рдВрдЧ
ProductPage
, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
ProductList
рдФрд░
ProductPage
, рдпрд╛рдиреА рдХреЛрдИ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╣рдордиреЗ рдЕрднреА рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рдПрд▓рд┐рд╕ рдХреЛ рд▓рдЧрднрдЧ рд╣рд░ рд╣рдлреНрддреЗ 50 рдХреЗрдмреАрдкреА рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ рдЫрдареЗ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдЖрдЗрдХрди рд╡рд┐рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╣рдорд╛рд░реА рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛рдЕрдм рдХреЗрд╡рд▓ рджрд╕ рд╣рдлреНрддреЛрдВ рдореЗрдВ, рдХреЗрд╡рд▓ 1.815 рдПрдордмреА рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдмрдЪрдд 56% рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдереАред рд╣рдорд╛рд░реЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ рдмрдЪрдд рдХреЗ рдЗрд╕ рд╕реНрддрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдпрд╣ рд╕рдм Webpack рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдРрд╕реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдЬрд┐рд╕ рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдмрд╛рдд рдХреА рдереА рдЙрд╕рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдПрдХ рд╣реА рд╣реЛрдЧрд╛: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЬреЛ рдХрд┐ рдЗрд╕рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдкрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕рд╛рдЗрдЯ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрдкрдиреЗ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдЬрд▓реНрдж рд╣реА рд╣рдо рдХреЛрдб рдкреГрдердХреНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдореИрдВ рддреАрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдЖрдк рдЕрднреА рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВред
1 рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 1ред рдХреНрдпрд╛ рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рд╛рдЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рддреА рд╣реИ?
рдЖрдк рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ: "рдирд╣реАрдВ, рдпрд╣ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рддрд╛ рд╣реИред" рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдкреБрд░рд╛рдиреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА, рдЬрдм HTTP / 1.1 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдерд╛, рдФрд░ HTTP / 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЕрдм рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ 2016 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдФрд░
рдЗрд╕ 2015 рдЦрд╛рди рдЕрдХрд╛рджрдореА рд▓реЗрдЦ рдореЗрдВ, рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ HTTP / 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрди рджреЛрдиреЛрдВ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдореЗрдВ, "рдмрд╣реБрдд рдЕрдзрд┐рдХ" рдХрд╛ рдЕрд░реНрде рд╣реИ "рдХрдИ рд╕реМред" рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЛ рд╕реИрдХрдбрд╝реЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рддреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдЙрдирдХреА рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ 10 рдкрд░ IE 11 рдореЗрдВ HTTP / 2 рд╕рдорд░реНрдерди рдЙрдкрд▓рдмреНрдз рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рд╕реЗ рдХрд╣рд╛ рдХрд┐ рдЙрдирдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд▓реЛрдбрд┐рдВрдЧ рдЧрддрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪрд┐рдВрддрд╛рдЬрдирдХ рдирд╣реАрдВ рдереАред
2 рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 2ред рд╡реЗрдмрдкреИрдХ рдмрдВрдбрд▓реЛрдВ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ?
рд╣рд╛рдБ рдпрд╣ рд╣реИ
3 рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 3ред рдХрдИ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЙрдирдХрд╛ рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдмрд┐рдЧрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ, рд╣реИ рдирд╛?
рдЬреА рд╣рд╛рдВ, рдпрд╣ рднреА рд╕рдЪ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
- рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрдзрд┐рдХ рд╡реЗрдмрдкреИрдХ рд╕рд╣рд╛рдпрдХ рдХреЛрдбред
- рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдорддрд▓рдм рдХрдо рд╕рдВрдкреАрдбрд╝рди рд╣реИред
рдЖрдЗрдП рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рд╣реИред
рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ 190 рдХреЗрдмреАрдИ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреЛрдб рдХреЛ 19 рднрд╛рдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЗрд╕рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд▓рдЧрднрдЧ 2% рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред
рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдЗрдЯ рдкрд░ рдкрд╣рд▓реА рдпрд╛рддреНрд░рд╛ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 2% рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдЧрд╛, рдФрд░ рдмрд╛рдж рдХреА рдпрд╛рддреНрд░рд╛рдУрдВ рдореЗрдВ - 60% рдХрдо, рдФрд░ рдпрд╣ рдмрд╣реБрдд, рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред
рддреЛ рдХреНрдпрд╛ рдпрд╣ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ? рдирд╣реАрдВ, рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред
рдЬрдм рдореИрдВрдиреЗ 1 рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдФрд░ 19 рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдХреА, рддреЛ рдореИрдВрдиреЗ HTTP / 1.1 рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рджреГрдврд╝рддрд╛ рд╕реЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рдмреЗрд╣рддрд░ рд╣реИред

рдлрд╛рдпрд░рдмреЗрд╕ рд╕реНрдереИрддрд┐рдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рд╣реЛрд╕реНрдЯ рдХреА рдЧрдИ рд╕рд╛рдЗрдЯ рдХреЗ 2 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдбреЗрдЯрд╛, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рдЖрдХрд╛рд░ рдореЗрдВ 190 Kb рд╣реИ, рд▓реЗрдХрд┐рди, рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕реЗ 1 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдЗрд╕реЗ 19 рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ3 рдЬреА рдФрд░ 4 рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, 19 рдлрд╝рд╛рдЗрд▓реЛрдВ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 30% рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдЖрдВрдХрдбрд╝реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢реЛрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 4 рдЬреА (рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд░рди 2) рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рддреНрд░ 646 рдПрдордПрд╕, рджреВрд╕рд░рд╛ (рд░рди 4) - 1116 рдПрдордПрд╕ рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдЬреЛ 73% рд▓рдВрдмрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ HTTP / 2 "30% рддреЗрдЬ" рд╣реИ рдХреБрдЫ рд╣рдж рддрдХ рдмреЗрдИрдорд╛рди рд╣реИред
HTTP / 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдИред рд▓реЗрдХрд┐рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдпрд╣рд╛рдВ рдХрд╣реА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ HTTP / 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрднрд╡рддрдГ рдкреГрд╖реНрда рд▓реЛрдбрд┐рдВрдЧ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдВрддрд┐рдо рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╢реНрдЪрд░реНрдп рдереАрдВред рдпрд╣рд╛рдВ IE11 рдФрд░ HTTP / 1.1 рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИрдВред рдЕрдЧрд░ рдореИрдВрдиреЗ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХрд░реЗрдВрдЧреЗред рд╕рдЪ рд╣реИ, рдпрд╣рд╛рдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореИрдВ, рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рдХреБрдЫ рдзреАрдореЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдХрд╣рд╛рдиреА рд╕реБрдирд╛рддрд╛ рд╣реВрдБред рдмрд╣реБрдд рдкреНрд░рд╛рдЪреАрди рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ
рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ 7 рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдбрд╛рдЙрдирд▓реЛрдб рдХреАред IE8 рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ IE9 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдерд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ IE 9. рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП Microsoft рдкреГрд╖реНрда рдкрд░ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рд╡реЛ рдмрджрдХрд┐рд╕реНрдорддреА ...рд╡реИрд╕реЗ, рдЕрдЧрд░ рд╣рдо HTTP / 2 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ Node.js. рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реИред рдпрджрд┐ рдЖрдк рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЫреЛрдЯреЗ
HTTP / 2 рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреИрд╢, рдЧрдЬрд╝рд┐рдк рдФрд░ рдмреНрд░реЗрдЯрд▓реА рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдерд╛ред
рд╢рд╛рдпрдж, рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдХрд╣рд╛ рдЬреЛ рдореИрдВ рдмрдВрдбрд▓реЛрдВ рдХреЗ рдкреГрдердХреНрдХрд░рдг рдХреА рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╛рдЗрдирд╕, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреА рд╣реЛрддреА рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдРрд╕рд╛ "рдорд╛рдЗрдирд╕" рдирд╣реАрдВ рд╣реИред
рдЕрдм рдХреЛрдб рдЬреБрджрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рдХреЛрдб рдЬреБрджрд╛рдИ
рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рддрдХрдиреАрдХ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИ: "рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рди рдХрд░реЗрдВред" рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдореИрдВ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬрдм рдХреЛрдб рдЬреБрджрд╛рдИ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ 20/20 рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рд╕рд╛рдЗрдЯ рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рдХреЗрд╡рд▓ 20% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рд╛рдЗрдЯ рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ 20% рд╕реЗ рдЕрдзрд┐рдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЗрд╕ рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпреЗ, рдмрд┐рд▓реНрдХреБрд▓, рдкреВрд░реНрдг рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВред рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рдХреЛрдб рдкреГрдердХреНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред
Not рдЕрд▓рдЧ рд╣реЛ рдпрд╛ рди рд╣реЛ?
рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдХреИрд╕реЗ рдЦреЛрдЬрдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреЛрдб рдЕрд▓рдЧрд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рднреБрдЧрддрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ 30% рдЖрдЧрдВрддреБрдХ рдЖрдкрд╕реЗ рдХреБрдЫ рдЦрд░реАрджрддреЗ рд╣реИрдВред
рдореИрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╕реНрдЯреЛрд░ рдХреЛ рднрд░рдиреЗ рдФрд░ рдХреБрдЫ рдмреЗрдЪрдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдзрд┐рдХ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рднреБрдЧрддрд╛рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдЗрдЯ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИред рдЪреВрдБрдХрд┐ рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ "рдХреЛрдб рд╡рд┐рднрд╛рдЬрди" рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ "рдмрдВрдбрд▓ рдмрдВрдЯрд╡рд╛рд░рд╛" рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЬрд┐рд╕ рдХреЛрдб рдореЗрдВ рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдХреНрдпрд╛ рдЖрдХрд╛рд░ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХреЛрдб рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдирдП рдЕрд╡рд╕рд░ рдкрд░ рдЦреБрд╢реА рдордирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд░рд┐рдПрдХреНрдЯ рд╕рд╛рдЗрдЯ рд╣реИ, рддреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, рд░рд┐рдбреНрдпреВрд╕рд░, рд░реВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдПрдХреНрд╢рди рдХреЛ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рднреА рд╣рд┐рд╕реНрд╕реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рд╛рдЗрдЯ рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рднрд╛рдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдШрдЯрдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдП рдЬрд╛рдПрдВрдЧреЗред
рддреЛ, рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЦрд░реАрдж рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдЗрдЯ рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп рдХреЛрдб 7 Kb рд▓рдЧрддрд╛ рд╣реИред рдмрд╛рдХреА рд╕рд╛рдЗрдЯ рдХреЛрдб рдХрд╛ рдЖрдХрд╛рд░ 300 Kb рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдореИрдВ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХреЛрдб рдкреГрдердХреНрдХрд░рдг рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдирд╣реАрдВ рд╣реЛрдЧрд╛:
- рдпрджрд┐ рдЖрдк рдЗрди 7 Kb рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд╛рдЗрдЯ рдзреАрдорд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдлрд╛рдЗрд▓реЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдХреЛрдб рдХреЗ 300 Kb рдФрд░ 307 Kb рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдВрддрд░ рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреА рд╣реИрдВред
- рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рдмрд╛рдж рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ "рдкреЗ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рд╡рд╣реА рдХреНрд╖рдг рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЪрд╛рд╣рд┐рдПред
- рдХреЛрдб рдкреГрдердХреНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреЛрдб рдореЗрдВ, рдЙрди рдЬрдЧрд╣реЛрдВ рдкрд░ рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рддрд░реНрдХ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред , , , , , .
, , , .
.
тЦН
, , , .
. , . :
require('whatwg-fetch'); require('intl'); require('url-polyfill'); require('core-js/web/dom-collections'); require('core-js/es6/map'); require('core-js/es6/string'); require('core-js/es6/array'); require('core-js/es6/object');
index.js
, :
import './polyfills'; import React from 'react'; import ReactDOM from 'react-dom'; import App from './App/App'; import './index.css'; const render = () => { ReactDOM.render(<App />, document.getElementById('root')); } render(); // ,
Webpack , , npm-. 25 , 90% , .
Webpack 4
import()
(
import
), :
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App/App'; import './index.css'; const render = () => { ReactDOM.render(<App />, document.getElementById('root')); } if ( 'fetch' in window && 'Intl' in window && 'URL' in window && 'Map' in window && 'forEach' in NodeList.prototype && 'startsWith' in String.prototype && 'endsWith' in String.prototype && 'includes' in String.prototype && 'includes' in Array.prototype && 'assign' in Object && 'entries' in Object && 'keys' in Object ) { render(); } else { import('./polyfills').then(render); }
, , , тАФ . тАФ
render()
. , Webpack npm-, ,
render()
.
,
import()
Babel
dynamic-import . , Webpack,
import() , .
, . .
тЦН React,
. , , , .
, npm- . , , 100 .
, , URL
/admin
,
<AdminPage>
. Webpack ,
import AdminPage from './AdminPage.js'
.
. , ,
import('./AdminPage.js')
, Webpack , .
, .
, ,
AdminPage
, , URL
/admin
. , :
import React from 'react'; class AdminPageLoader extends React.PureComponent { constructor(props) { super(props); this.state = { AdminPage: null, } } componentDidMount() { import('./AdminPage').then(module => { this.setState({ AdminPage: module.default }); }); } render() { const { AdminPage } = this.state; return AdminPage ? <AdminPage {...this.props} /> : <div>Loading...</div>; } } export default AdminPageLoader;
. (, URL
/admin
),
./AdminPage.js
, .
render()
,
<AdminPage>
,
<div>Loading...</div>
,
<AdminPage>
, .
,
react-loadable
,
React .
рдкрд░рд┐рдгрд╛рдо
, , (, , CSS). :
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! ?