рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рд╕рдкрдиреЛрдВ рдХрд╛ рдмрдВрдбрд▓ рдПрдХрддреНрд░ рдХрд░рдирд╛

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

рдореИрдХреНрд╕рд┐рдо рд╕реЛрд╕реНрдиреЛрд╡ ( crazymax11 ) - N1.RU рдореЗрдВ рдлреНрд░рдВрдЯреЗрдВрдб рд▓реАрдб рдиреЗ рдХрдИ рдмрдбрд╝реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╡реЗрдмрдкреИрдХ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬреЛ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╕реНрдЯрдо рдмрд┐рд▓реНрдб рдереЗ, рдФрд░ рдЗрд╕рдореЗрдВ рдХрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ред рдореИрдХреНрд╕рд┐рдо рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдкрдирд╛ рдмрдВрдбрд▓ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╛рдл, рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рдП, рдФрд░ рдореЙрдбреНрдпреВрд▓рд░ рд╣реЛред


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

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╡реЗрдмрдкреИрдХ рдПрдХреАрдХрд░рдг


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

- рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
- рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ, рд╕рдм рдареАрдХ рд╣реИ!

рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░ рд╕рдм рдХреБрдЫ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓ рдХрд╛ рд╡рдЬрди 7 рдПрдордмреА рд╣реИ рдФрд░ рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ 30 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ ред рдпрд╣ рдХрд┐рд╕реА рдХреЛ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ - рд╡рд╣ рд▓реЛрдбрд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдПрдХ рдЬрд╛рджреБрдИ рдкреНрд▓рдЧ-рдЗрди рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ред рдЪрдорддреНрдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдРрд╕рд╛ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд┐рдд рд╣реИред рд╣рдорд╛рд░рд╛ рдбреЗрд╡рд▓рдкрд░ webpack-config рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреА рд▓рд╛рдЗрди рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддреА рд╣реИ:

if (process.env.NODE_ENV === 'production') { config.module.rules[7].options.magic = true; } 

рд▓рд╛рдЗрди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: "рдпрджрд┐ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╕рд╛рддрд╡рд╛рдВ рдирд┐рдпрдо рд▓реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ magic = true рдбрд╛рд▓реЗрдВред" рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рд╕рдкрдиреЛрдВ рдХреЗ рдПрдХ рдмрдВрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╕рдкрдиреЛрдВ рдХрд╛ рдПрдХ рдмрдВрдбрд▓ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ?


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдкрдирд╛ рдмрдВрдбрд▓ рдХреА рджреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:

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

рдФрд░ рдмрдВрдбрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рджрд░ рдмрдВрдбрд▓ рдЖрдХрд╛рд░


рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди WebpackBundleAnalyzer рдкреНрд▓рдЧрдЗрди рд╣реИред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд┐рд▓реНрдб рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкреЗрдЬ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕реНрдерд╛рди рдФрд░ рд╡рдЬрди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдпрджрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдпрд╛ рдПрдХ рдкрд╛рдИ рдЪрд╛рд░реНрдЯ ред

рдЫрд╡рд┐

рдпрджрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рд╡рд┐рдкрдгрдХ рдХреЛ рд╡реЗрдмрдкреИрдХ рдмреЗрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдкреВрд░реЗ рдмреНрд░рд╣реНрдорд╛рдВрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЬреИрд╕реЗ рдмреНрд░рд╣реНрдорд╛рдВрдб рдореЗрдВ рдПрдХ рддрд╛рд░рд╛ред

рдЫрд╡рд┐

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

рдмрдВрдбрд▓ рдХреИрд╕реЗ рдХрдо рдХрд░реЗрдВ


  • рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ UglifyJS рдореЗрдВ рдкреНрд▓рдЧ рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░реЗред
  • рд╡рд┐рд╢реЗрд╖ рд▓реЛрдбрд░ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕рд╛рдзрди рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕-рдиреИрдиреЛ , рдпрд╛ рдПрд╕рд╡реАрдЬреАрдУ , рдЬреЛ рдПрд╕рд╡реАрдЬреА рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИред
  • рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рд╡реЗрдмрдкреИрдХ рдкрд░ gzip / brotli plugins рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░реЗрдВ ред
  • рдЕрдиреНрдп рдЙрдкрдХрд░рдгред

рдЕрдм рд╣рдо рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдмрдВрдбрд▓ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреИрд╕реЗ рдлреЗрдВрдХрдирд╛ рд╣реИред

рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджреЛ


import moment from 'moment' рд╕рд╛рде рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЬреЗрдПрд╕ : import moment from 'moment' ред рдпрджрд┐ рдЖрдк рдПрдХ рдЦрд╛рд▓реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдореЗрдВ moment.js рдФрд░ ReactDOM рдЖрдпрд╛рдд рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ WebpackBundleAnalyzer рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╕ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрди рдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдЫрд╡рд┐

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдПрдХ рджрд┐рди, рдПрдХ рдШрдВрдЯреЗ, рдПрдХ рддрд╛рд░реАрдЦ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╕ "15 рдорд┐рдирдЯ" рдореЗрдВ рд▓рд┐рдВрдХ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рдкреВрд░реЗ 230 рдХреЛрдб рдХреЗ рдХреЛрдб рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ! рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдкрд▓ рдореЗрдВ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ


рдХреНрд╖рдгреЛрдВ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИред рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:

 function setLocale(locale) { const localePath = 'locale/' + locale + '.js'; this._currentLocale = require(localePath); } 

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

рдЫрд╡рд┐

рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рд╣рдо рд╡реЗрдмрдкреИрдХ рд╕реЗ рдПрдХ рдорд╛рдирдХ рдкреНрд▓рдЧрдЗрди рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ: "рдпрджрд┐ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдерд╛рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рдХреМрди рд╕рд╛ рд╣реИ, рдмрд╕ рд░реВрд╕реА рдПрдХ рд▓реЗрдВ!"

рдЫрд╡рд┐

рд╡реЗрдмрдкреИрдХ рдХреЗрд╡рд▓ рд░реВрд╕реА рд▓реЗрдЧрд╛, рдФрд░ рд╡реЗрдмрдкреИрдХ рдмрдВрдбрд▓реЗрдПрдирд╛рд▓рд┐рдпрд░ 54 Kb рджрд┐рдЦрд╛рдПрдЧрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 200 Kb рдЖрд╕рд╛рди рд╣реИред

рдореГрдд рдХреЛрдб рдЙрдиреНрдореВрд▓рди


рдЕрдЧрд▓рд╛ рдЕрдиреБрдХреВрд▓рди рдЬреЛ рд╣рдореЗрдВ рд░реБрдЪрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдбреЗрдб рдХреЛрдб рдПрд▓рд┐рдорд┐рдиреЗрд╢рди ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

 const cond = true; if (!cond) { return false; } return true; someFunction(42); 

рдЗрд╕ рдХреЛрдб рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рдмрдВрдбрд▓ рдореЗрдВ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ - рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╡рд╛рдкрд╕реА рдХреЗ рдмрд╛рдж рднреА рдлрд╝рдВрдХреНрд╢рдиред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ return true ред рдпрд╣ рдареАрдХ рд╡рд╣реА рд╣реИ рдЬреЛ рдбреЗрдб рдХреЛрдб рдХрд╛ рдЙрдиреНрдореВрд▓рди рд╣реИ: рдмрд┐рд▓реНрдб рдЯреВрд▓ рдХреЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд╛рдЯ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдХрд┐ UglifyJS рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрдм рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдбреЗрдб рдХреЛрдб рдПрд▓рд┐рдорд┐рдиреЗрд╢рди - рдЯреНрд░реА рд╢реЗрдХрд┐рдВрдЧ рд╡рд┐рдзрд┐ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред

рдкреЗрдбрд╝ рдХрд╛ рд╣рд┐рд▓рдирд╛


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

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

рдЯреНрд░реА рд╢реЗрдкрд┐рдВрдЧ рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХреЛрдб рд╣реИ:

 import { a } from './a.js'; console.log(a); 

рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рд╕реЗ, рдЪрд░ рдХреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЛ рдЪрд░ рд╣реИрдВ: a рдФрд░ b ред рд╣рдореЗрдВ рдЪрд░ b рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

 export const a = 3 export const b = 4 

рдЬрдм рд╡реЗрдмрдкреИрдХ рдЖрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЖрдпрд╛рдд рдХреЛрдб рдХреЛ рдЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ:

 var d = require(0); console.log(d["a"]); 

рд╣рдорд╛рд░рд╛ import require рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рд▓реЗрдХрд┐рди console.log ред рдмрджрд▓ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред

рд╡реЗрдмрдкреИрдХ рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рдореНрди рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддреА рд╣реИ:

 var a = 3; module.exports["a┬л] = a; /* unused harmony export b */ var b = 4; 


рд╡реЗрдмрдкреИрдХ рдиреЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдП рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдФрд░ рд╡реИрд░рд┐рдПрдмрд▓ рдмреА рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдЪрд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреЛрдб рдореЗрдВ, рдЪрд░ b рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ UglifyJS рдЗрд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реЗрдмрдкреИрдХ рдЯреНрд░реА рд╣рд┐рд▓рд╛рдирд╛ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЛрдб рдорд┐рдирд┐рдлрд╛рдпрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ UglifyJS рдпрд╛ babel-minify ред

рдЖрдЗрдП рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдорд╛рдорд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - рдЬрдм рдЯреНрд░реА рд╢реЗрдХрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЬрдм рдЯреНрд░реА рдорд┐рд▓рд╛рддреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ


рдХреЗрд╕ рдирдВрдмрд░ 1. рдЖрдк рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 module.exports.a = 3; module.exports.b = 4; 

рдХреЛрдб рдХреЛ рд╡реЗрдмрдкреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдПрдБ, рдФрд░ рдпрд╣ рд╡реИрд╕рд╛ рд╣реА рд░рд╣рддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк ES6 рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдмрдВрдбрд▓рд░ рдЯреНрд░реА рдХреЛ рд╣рд┐рд▓рд╛рддреЗ рд╣реБрдП рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк CommonJS рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреНрд░реА рд╢реЗрдХрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдХреЗрд╕ рдирдВрдмрд░ 2. рдЖрдк ES6 рдореЙрдбреНрдпреВрд▓ рдФрд░ рдирд╛рдорд┐рдд рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд╕рд╛рде рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред

 export const a = 3 export const b = 4 

рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдб Babel рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ Babel рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ CommonJS рдореЗрдВ рд▓рд╛рдПрдЧрд╛, рдФрд░ Webpack рдлрд┐рд░ рд╕реЗ рдЯреНрд░реА рд╢реЗрдХрд┐рдВрдЧ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ ES6 рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

 module.exports.a = 3; module.exports.b = 4; 

рддрджрдиреБрд╕рд╛рд░, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреЛрдИ рднреА рдИрдПрд╕ 6 рдореЙрдбреНрдпреВрд▓ рдЯреНрд░рд╛рдВрд╕рд╢рд┐рдк рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдХреЗрд╕ рдирдВрдмрд░ 3. рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрд╕рд╛ рдмреЗрдХрд╛рд░ рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: export class ShakeMe {} ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЕрднреА рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд╡реЗрдмрдкреИрдХ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмреИрдмреЗрд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдмрдВрдбрд▓ рдпрд╣ рдиреЛрдЯ рдХрд░реЗрдЧрд╛ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ:

 /* unused harmony e[port b */ var ShakeMe = function () { function ShakeMe() { babelHelpers.classCallCheck(this, ShakeMe); } return ShakeMe; }(); 

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдХрд░реАрдм рд╕реЗ рджреЗрдЦреЗрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ babelHelpers , рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рд╣реИ : UglifyJS рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреЛрдб рдореЗрдВ рдХрдЯреМрддреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбрд░ рд╣реИ рдХрд┐ рдХреБрдЫ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред

рдЬрдм рдЖрдк рдХрдХреНрд╖рд╛рдПрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдмреЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдХрднреА рдирд╣реАрдВ рдХрдЯрддреЗ рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рддрдп рд╣реБрдЖ? рдПрдХ рдорд╛рдирдХреАрдХреГрдд рд╣реИрдХ рд╣реИ - рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ /*#__PURE__*/ рд╕рдорд╛рд░реЛрд╣ рд╕реЗ рдкрд╣рд▓реЗ:

 /* unused harmony export b */ var ShakeMe = /*#__PURE__*/ function () { function ShakeMe() { babelHelpers.classCallCheck(this, ShakeMe); } return ShakeMe; }(); 

рддрдм UglifyJS рдЗрд╕ рд╢рдмреНрдж рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЕрдЧрд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рд╢реБрджреНрдз рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдмреИрдмрд┐рд▓ 7 рдЕрдм рдРрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдмреИрдмреЗрд▓ 6 рдореЗрдВ, рдЕрдм рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рдпрдо: рдпрджрд┐ рдЖрдкрдХрд╛ рдХрд╣реАрдВ рдкрд░ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рд╣реИ, рддреЛ UglifyJS рдХреБрдЫ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:

  • рдЯреНрд░реА рд╢реЗрдХрд┐рдВрдЧ npm рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ , рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рднреА рдХреЙрдордирдЬреЗрдПрд╕ рд╕реЗ рд╣реИрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рдмрдмреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╣реИрдВред
  • рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЯреНрд░реА рд╢реЗрдХрд┐рдВрдЧ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╣реИрдВ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЛрдбрд╢-рдПрд╕, рдбреЗрдЯ-рдлреЗрдВрд╕ рдФрд░ рдЖрдкрдХрд╛ рдХреЛрдб рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред
  • UglifyJS рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред
  • ES6 рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
  • рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдирд╣реАрдВред

рд╣рдордиреЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдмрдВрдбрд▓ рдХрд╛ рд╡рдЬрди рдХреИрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдЕрдм рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЦрд╛рдПрдВред

рд╣рдо рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ


рд╣рдо рдЗрд╕ рднрд╛рдЧ рдХреЛ рджреЛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рдХреЗрд╡рд▓ рдЙрд╕ рдХреЛрдб рдХреЛ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ : рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддрд╛ рдкреГрд╖реНрдареЛрдВ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рдореЗрдВ, рдХреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╕рдВрднрд╡ рдкреБрдирдГ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ ред

рд╣рдо рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ


рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╣реИ:

  • рдкреНрд░рд╡реЗрд╢-рдмрд┐рдВрджреБ - рдПрдкреАрдкреАред
  • рддреАрди рдкреГрд╖реНрда: рдШрд░, рдЦреЛрдЬ рдФрд░ рдХрд╛рд░реНрдбред

рдЫрд╡рд┐

рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдЬрд┐рд╕реЗ рд╣рдо рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдЬрд╛рд░реА рдХрд░рдирд╛ ред рдЖрдЗрдП рд╣рдо рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рд▓ рдХреЛрдб рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рдЪрдХреНрд░ рдФрд░ рдЦреЛрдЬ рдкреГрд╖реНрдаред рд╢реЗрд╖ рдЖрдВрдХрдбрд╝реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред

рдЫрд╡рд┐

рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рд╕реЗ рдЦреЛрдЬ рдкрд░ рдЖрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдмреЙрдХреНрд╕ рдФрд░ рд╕рд░реНрдХрд▓ рджреЛрдиреЛрдВ рдХреЛ рджреВрд╕рд░реА рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░реЗрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рдореЗрдВ, рд╣рдо рдРрд╕рд╛ рдХреБрдЫ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдЫрд╡рд┐

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ 4 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ - рд╕реНрдкреНрд▓рд┐рдЯрдХреЙрдиреНрдХреНрд╕рдкреНрд▓рдЧрд┐рди ред рдкреНрд▓рдЧрдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдпрд╛ рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрд▓рдЧ рдЪрдВрдХ рдореЗрдВ рдХрдИ рдЪрдВрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдХреЗ рд╕рд╛рде рдЪрдВрдХ 30 Kb рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛, рдФрд░ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ 5 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд░рдгрдиреАрддрд┐ рдЗрд╖реНрдЯрддрдо рд╣реИ: рдмрд╣реБрдд рдЫреЛрдЯреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рд▓рд╛рднрджрд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╛рддреНрд░рд╛ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ http2 рдкрд░ рднреА рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИ ред рд╡реЗрдмрдкреИрдХ рдХреЗ 2 рдпрд╛ 3 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде 20-30 рд▓рд╛рдЗрдиреЗрдВ рд▓рд┐рдЦрдиреА рдереАрдВред рдЕрдм рдЗрд╕реЗ рдПрдХ рд▓рд╛рдЗрди рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

CSS Takeaway


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

рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рд╕рдВрд╕рд╛рдзрди рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ


рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЬрд╛рд░реА рдХрд░рддреЗ рд╕рдордп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдореЛ рдмреНрд▓реЙрдХ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдХреЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░реЗрдЧрд╛ ред

рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд░реНрдЬрдирд┐рдВрдЧ рд╣реЛрддреА рддреЛ рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛрддрд╛ред рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг N рдХрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рд╣реИ, рдФрд░ рдкреНрд░реЛрдореЛ рдмреНрд▓реЙрдХ рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж - рд╕рдВрд╕реНрдХрд░рдг N + 1ред рд╡реЗрдмрдкреИрдХ рд╣реИрд╢рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЙрдХреНрд╕ рдХреЗ рдареАрдХ рдмрд╛рд╣рд░ рдПрдХ рд╕рдорд╛рди рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡реЗрдмрдкреИрдХ рд╕рднреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ app.js, рдпрд╣ рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдРрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред [рд╣реИрд╢] .js рдпрд╣ рд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣реИрд╢ рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ, рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХрд╛ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдмрджрд▓ рдЧрдИ рд╣реИрдВ: рдореБрдЦреНрдп рдФрд░ app.js.

рдЫрд╡рд┐

рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрддрд╛рд░реНрдХрд┐рдХ рд╣реИ? рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ app.js. рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдЗрд╕рдореЗрдВ рддреАрди рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:

  • рдЖрд╡реЗрджрди рдХреЛрдб
  • рд╡реЗрдмрдкреИрдХ рд░рдирдЯрд╛рдЗрдо;
  • рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╡рд┐рдЦрдВрдбреВ рдХреЗ рд▓рд┐рдВрдХред

рдЬрдм рд╣рдо рдХреЛрдб рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдФрд░ рд╣реИрд╢ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдВрдХ рдРрдк рдореЗрдВ рднреА рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдРрдк рдЦреБрдж рднреА рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд░реАрдмреВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди app.js рдХреЛ рджреЛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реИ: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдФрд░ рд╡реЗрдмрдкреИрдХ рд░рдирдЯрд╛рдЗрдо рдФрд░ рд▓рд┐рдВрдХ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ред рд╡реЗрдмрдкреИрдХ 4 рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд░рдирдЯрд╛рдЗрдо рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╡рдЬрди рдмрд╣реБрдд рдХрдо рд╣реЛрддрд╛ рд╣реИ - рдЧрдЬрд╝рд┐рдк рдореЗрдВ 2 рдХреЗрдмреА рд╕реЗ рдХрдоред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд░рд┐рдмреВрдЯ рдХрд░рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИред RuntimeChunk рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рд╣реИ:

 optimization: { runtimeChunk: true } 

рд╡реЗрдмрдкреИрдХ 3 рдФрд░ 2 рдореЗрдВ, рд╣рдо рдПрдХ рдХреЗ рдмрдЬрд╛рдп 5-6 рд▓рд╛рдЗрдиреЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрд╕реБрд╡рд┐рдзрд╛ рд╣реИред

рдЫрд╡рд┐

рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╣рдордиреЗ рд▓рд┐рдВрдХ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдмрдирд╛рдирд╛ рд╕реАрдЦрд╛! рдЪрд▓реЛ рдореБрдЦреНрдп рдореЗрдВ рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ - рдСрдк! - рдЕрдм, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдРрд╕рд╛ рдХреНрдпреЛрдВ? рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рд╡реЗрдмрдкреИрдХ рдореЙрдбреНрдпреВрд▓


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ a , b , d, рдФрд░ e :

 import a from 'a'; import b from 'b'; import d from 'd'; import e from 'e'; 

рд╡реЗрдмрдкреИрдХ рдЖрдпрд╛рдд рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдП , рдмреА , рдбреА, рдФрд░ рдИ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ (0), рдЖрд╡рд╢реНрдпрдХрддрд╛ (1), рдЖрд╡рд╢реНрдпрдХрддрд╛ (2), рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ (3) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 var a = require(0); var b = require(1); var d = require(2); var e = require(3); 

рдПрдХ рдРрд╕реА рддрд╕реНрд╡реАрд░ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬреЛ рдмрд╣реБрдд рдмрд╛рд░ рд╣реЛрддреА рд╣реИ: рдЖрдк import c from 'c'; рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ c import c from 'c'; рд▓рд┐рдЦрддреЗ рд╣реИрдВ import c from 'c'; рдФрд░ рдЗрд╕реЗ рдХрд╣реАрдВ рдмреАрдЪ рдореЗрдВ рдЪрд┐рдкрдХрд╛рдПрдБ:

 import a from 'a'; import b from 'b'; import c from 'c'; import d from 'd'; import e from 'e'; 

рдЬрдм рд╡реЗрдмрдкреИрдХ рд╕рдм рдХреБрдЫ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдирдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЖрдпрд╛рдд рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ (2):

 var a = require(0); var b = require(1); var c = require(2); var d = require(3); var e = require(4); 

рдореЙрдбреНрдпреВрд▓ рдбреА рдФрд░ рдИ , рдЬреЛ 2 рдФрд░ 3 рдереЗ, рдЙрдиреНрд╣реЗрдВ 3 рдФрд░ 4 рдирдВрдмрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ - рдирдИ рдЖрдИрдбреАред рдПрдХ рд╕рд░рд▓ рдирд┐рд╖реНрдХрд░реНрд╖ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдмрдкреИрдХ рдЗрд╕реЗ рдХрд░рддрд╛ рд╣реИред

рдпреВрдирд┐рдХ рдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡реЗрдмрдкреИрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ - HashedModuleIdsPlugin :

 new webpack.HashedModuleIdsPlugin({ hashFunction: 'md4тА▓, hashDigest:'base64тА▓, hashDigestLength: 4, }), 

рдпрд╣ рдкреНрд▓рдЧрдЗрди рдкреВрд░реНрдг рдкрде рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд┐рдЬрд┐рдЯрд▓ рдЖрдИрдбреА рдХреЗ рдмрдЬрд╛рдп md4 рд╣реИрд╢ рдХреЗ 4 рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрди рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧреА:

 var a = require('YmRl'); var b = require('N2Fl'); var c = require('OWE4тА▓); var d = require('NWQz'); var e = require('YWVj'); 

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

рдЕрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдкрдиреЗ рдХреЗ рдмрдВрдбрд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред

  • рдЫреЛрдЯрд╛ рдХрд░реЗрдВ ред
  • рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред
  • рд╣реИрд╢ рд╕реЗрдЯ рдХрд░реЗрдВ ред

рд╣рдордиреЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╕реАрдЦрд╛, рдФрд░ рдЕрдм рд╣рдо рдЧрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдХреИрд╕реЗ рдПрдХ рд╕рдкрдирд╛ рдмрдВрдбрд▓ рдЬрд▓реНрджреА рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?


рд╣рдорд╛рд░реЗ рдПрди 1 рдЖрд░рдпреВ рдореЗрдВ, рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЖрд╡реЗрджрди рдореЗрдВ 10,000 рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд┐рдирд╛, рдЗрд╕рдореЗрдВ 28 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВред рд╣рдо рджреЛ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ! рд╣рдордиреЗ рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд┐рдпрд╛? рдХрд┐рд╕реА рднреА рдЧрдгрдирд╛ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ 3 рддрд░реАрдХреЗ рд╣реИрдВ, рдФрд░ рддреАрдиреЛрдВ рд╡реЗрдмрдкреИрдХ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг


рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдордиреЗ рдХреА рд╡рд╣ рдереА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдмрдирд╛рдирд╛ ред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕:

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

рдХреИрд╢рд┐рдВрдЧ рдмрд┐рд▓реНрдб рдкрд░рд┐рдгрд╛рдо


рд╡реЗрдмрдкреИрдХ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╢рд┐рдВрдЧ рдЕрд╕реЗрдВрдмрд▓реА рдкрд░рд┐рдгрд╛рдо рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рд╣реИред

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

рдЧреНрд░рд╛рдл рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдордп рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдмреНрд▓реВ рдмрд╛рд░ - 100% рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо, рдХреИрд╢-рд▓реЛрдбрд░ рдХреЗ рдмрд┐рдирд╛, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде - 7% рдзреАрдорд╛ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреИрд╢-рд▓реЛрдбрд░ рдХреИрд╢ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреВрд╕рд░реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдареЛрд╕ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ - рд╡рд┐рдзрд╛рдирд╕рднрд╛ 2 рдЧреБрдирд╛ рддреЗрдЬ рдереАред

рдЫрд╡рд┐

рджреВрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рд╣реИ - рд╣рд╛рд░реНрдбрд╕реЛрд░реНрд╕рдкреНрд▓рдЧрд┐рди ред рдореБрдЦреНрдп рдЕрдВрддрд░: рдХреИрд╢-рд▓реЛрдбрд░ рд╕рд┐рд░реНрдл рдПрдХ рд▓реЛрдбрд░ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдХреЛрдб рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд▓реЛрдбрд░реЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╣рд╛рд░реНрдбрд╕реНрдХреЛрд░рдкреНрд▓рдЧрд┐рди рдХреЗ рдкрд╛рд╕ рд╡реЗрдмрдкреИрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рддрдХ рд▓рдЧрднрдЧ рдкреВрд░реНрдг рдкрд╣реБрдВрдЪ рд╣реИ, рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрдиреНрд╕ рдФрд░ рд▓реЛрдбрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдереЛрдбрд╝реА рд╕реА рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдкрд░, рдмрд┐рд▓реНрдб рд╕рдордп рдореЗрдВ 37% рдХреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рдереА, рд▓реЗрдХрд┐рди рд╕рднреА рдХреИрд╢ рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЗ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ 5 рдмрд╛рд░ рддреНрд╡рд░рд┐рдд рдХрд┐рдпрд╛ред

рдЫрд╡рд┐

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рджреЛрдиреЛрдВ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╣рдо N1.RU рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреИрд╢ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд▓рдЧрдЗрдиреНрд╕ / рд▓реЛрдбрд░ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреИрд╢рд┐рдВрдЧ рддрдВрддреНрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреИрдмрд▓-рд▓реЛрдбрд░ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдХреБрд╢рд▓ рдХреИрд╢рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рднрдпрд╛рдирдХ-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд▓реЛрдбрд░ рдореЗрдВ рд╣реИ ред UglifyJS рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдХреИрд╢рд┐рдВрдЧ рднреА рд╣реИ, рдЬреЛ рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдиреЗ рд╣рдореЗрдВ рдХрдИ рдорд┐рдирдЯ рддрдХ рддреЗрдЬ рдХрд┐рдпрд╛ред

рдФрд░ рдЕрдм рд╕рдорд╕реНрдпрд╛рдПрдВред

рдХреИрд╢рд┐рдВрдЧ рдореБрджреНрджреЛрдВ


  • рдХреИрд╢ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ред
  • рдПрдкреНрд▓рд╛рдЗрдб рд╕рдорд╛рдзрд╛рди рдЬреБрдбрд╝реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕, рд▓реЛрдбрд░, рдЖрдкрдХреЗ рдХреЛрдб рдпрд╛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдХреИрд╢-рд▓реЛрдбрд░ рдПрдХ рд╕рд░рд▓ рдФрд░ рдкрд░реЗрд╢рд╛рдиреА рдореБрдХреНрдд рд╕рдорд╛рдзрд╛рди рд╣реИред рд▓реЗрдХрд┐рди HardSourcePlugin рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • рдпрджрд┐ рд╕рдм рдХреБрдЫ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╢реБрд░реВ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ ред рдЬрдм рдХреИрд╢рд┐рдВрдЧ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдпреЛрдЧреНрдп рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред

рдЙрддреНрдкрд╛рджрди рдкрд░ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдП?


рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХрд╛ рдЕрдВрддрд┐рдо рддрд░реАрдХрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдХреЛрдИ рднреА рднрд╛рдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдЖрдЗрдП рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЙрддреНрдкрд╛рджрди рдкрд░ рдХреИрд╕реЗ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рд╣рдо рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ? рдЬрд╡рд╛рдм рдЫреЛрдЯрд╛ рд╣реИ - рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ ! рд╣рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд┐рд╕реА рдЪреАрдЬ рдХреЛ рдордирд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рджреЗрд╡ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд┐рд╕ рдкрд░ рдмрдЪрд╛рдирд╛ рд╣реИ:

  • рдЬрдм рддрдХ рд╣рдореЗрдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рддрдм рддрдХ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдПрдХрддреНрд░ рди рдХрд░реЗрдВред
  • рд╕реАрдПрд╕рдПрд╕ рд▓реЛрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рд╣рдЯрд╛рдиреЗ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╢рд╛рдВрдд рдпреЛрдЬрдирд╛ рдХреЗ рдмрдЬрд╛рдп рд╢реИрд▓реА-рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред рд╕реНрдЯрд╛рдЗрд▓-рд▓реЛрдбрд░ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реАрдПрд╕рдПрд╕ рд▓рд╛рдЗрди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдзрдХреЗрд▓рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рд▓рд╛рдЗрди рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдЯреИрдЧ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
  • рдЖрдк рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реВрдЪреА рдореЗрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ - рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдВрддрд┐рдо рдХреНрд░реЛрдо рд╣реИ ред рдЗрд╕рд╕реЗ рдмрд╣реБрдд рддреЗрдЬреА рдЖрдПрдЧреА ред
  • UglifyJS, css-nano, gzip / brotli: рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрдХреВрд▓рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреНрдпрд╛рдЧ рджреЗрдВред

рдирд┐рд░реНрдорд╛рдг рддреНрд╡рд░рдг рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реИ, рдХреИрд╢рд┐рдВрдЧ рдФрд░ рдЧрдгрдирд╛ рд╕реЗ рдЗрдирдХрд╛рд░ред рдЗрди рддреАрди рд╕рд░рд▓ рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ, рдЖрдк рдмрд╣реБрдд рддреЗрдЬреА рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реЗрдмрдкреИрдХ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ?


рд╣рдордиреЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдПрдХ рд╕рдкрдиреЗ рдХреЗ рдмрдВрдбрд▓ рдХреЛ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдЕрдм рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рд╣рдо рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреИрд░ рдХреЛ рд╢реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рди рдХрд░реЗрдВред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


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

рдХреНрд░рдо рдореЗрдВ рд░рдЦреЗрдВ


рд╣рдо рд╡реЗрдмрдкреИрдХ-рдорд░реНрдЬ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ npm рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рдХрдИ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдПрдХ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд░реНрдЬ рд░рдгрдиреАрддрд┐ рдХреЗ рд╕рд╛рде рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


4 :

  • Loaders.
  • Plugins.
  • Presets.
  • Parts.

.

Plugin/Loader


, , API, , .

рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 /** *  JSdoc * @param {Object} options * @see    */ module.exports = function createPlugin(options) { return new Plugin(options); }; 

, , , . , url-loader :

 /** * url-loader    file-loader.        * * @example * -   some-image.png.     url-loader,  url-loader    * 1.    ,  url-loader    base64  * 2. , url-loader    outputPath + name     ,     . *    some-image.png,     outputPath/images/some-image.12345678hash.png,  url-loader  * publicPath/images/some-image.12345678hash.png * * @param {string} prefix    * @param {number} limit    ,    * @return {Object} loader   * @see https://www.npmjs.com/package/url-loader */ 

, , , , , , . , , , , url-loader. :

 function urlLoader(prefix = 'assets', limit = 100) { return { loader: 'url-loader', options: { limit, name: `${prefix}/[name].[hash].[ext]` } }; }; 

. , Loader .

Preset


webpack. , , , webpack, . тАФ , , scss-:

 { test: /\.scss$/, use: [cssLoader, postCssLoader, scssLoader] } 

.

Part


тАФ , . , , . , :

 entry: { app: './src/Frontend/app.js' }, output: { publicPath: '/static/cabinet/app/', path: path.resolve('www/static/app') }, 

:

  • , , , json, , , splitChunks.
  • dev , , js/css
  • Part , output, publicPath, entry-point , , source map.

рдЫрд╡рд┐

Webpack-merge . , . webpack-merge 3-7 , Babel-loader, . , .


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛ред , . , webpack тАФ . , .

, !

тАФ Frontend Conf . , тАФ , , Frontend Conf ++ .

- ? FrontenConf ++ , 27 28 . 27 , 15 . тАФ !

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


All Articles