рдореИрдВ рдПрдХ рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рд╕реЗ рдорд┐рд▓рд╛ рдерд╛, рд╡рд░реНрд╖ 2008 рдореЗрдВ, рдЬрдм Yandex рдереЛрдбрд╝рд╛ рдирд┐рд▓рдВрдмрд┐рдд рдерд╛, рдФрд░ Yandex.Direct рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд╛рдЗрдЯ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЙрди рджрд┐рдиреЛрдВ рд╕рд╛рдорд╛рдиреНрдп рдерд╛ рдпрджрд┐ рдЖрдкрдХреА "рд╕реНрдХреНрд░рд┐рдкреНрдЯ" 10 рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдПрдХрдорд╛рддреНрд░ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрднреА рднреА (рдбрд┐рдлрд░ рдХреЗ рд╕рд╛рде) рдЕрднреА рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд░ рдореИрдВрдиреЗ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рд╡реЗ рдЕрднреА рднреА рдмрд╛рд╣рд░реА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдмреЗрд╢рдХ рдЖрд▓рд╕реА-рд▓реЛрдбред рдлрд┐рд░, Yandex.Mart рдЯреАрдо рдХреЗ рдПрдХ рд╕рджрд╕реНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ ymodules рдЯреНрд░реА- рд╢реЗрдХрд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рд╕рд┐рд░реНрдл рд╕рд╣реА рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рдерд╛ред
рдФрд░ рдлрд┐рд░ рдореИрдВ рднрдпрднреАрдд рдмреЗрд╡рдХреВрдлреЛрдВ рдХреЗ рджреЗрд╢ рдХреЗ рд▓рд┐рдП webpack
рдФрд░ React
, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдирдП рдЧреЗрдЯ рдкрд░ рдПрдХ рд░рд╛рдо рдХреА рддрд░рд╣ require.ensure
рдХреЛ рджреЗрдЦрд╛ред рдФрд░ рдЕрдм рднреА рдХрд░рддреЗ рд╣реИрдВред
рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдПрдХ рд╡рд╛рд╣ рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рднреА SSR
рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ...

рдЫреЛрдЯрд╛ рд╕рд╛ рдкрд░рд┐рдЪрдп
рдЖрдЬрдХрд▓, рдЬрдм рдмрдВрдбрд▓ рд╣рд░ рджрд┐рди рдмрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд▓реЛрдЧ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрдирд╛рдХрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдЖрдП, рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрд╕рдкреАрдП рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЙрд╕рдХреЗ рдмрд╛рдж require.ensure
рдлрдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди, рдЬрд┐рд╕реЗ рдЖрдЬ dynamic import
(рд╕рд┐рд░реНрдл рдЗрдВрдкреЛрд░реНрдЯ) рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдмрд╕ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдмрд╛рдж рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдерд╛ , рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рдЪрд╛рд░ рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдорд░ рдЪреБрдХрд╛ рд╣реИ (рдпрд╣ рд▓реЗрдЦрдХ рдХреЛ рдЦреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ)ред
рдЕрднреА рдЕрдзрд┐рдХ рдпрд╛ рдХрдо "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рд╡рд┐рдХрд▓реНрдк React.lazy
рдФрд░ рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп-рдШрдЯрдХ (рдмрд╕ @loadable
рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп ) рд╣реЛрдВрдЧреЗ, рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдХрд╛ рдЪреБрдирд╛рд╡ рд╕реНрдкрд╖реНрдЯ рд╣реИ:
- React.lazy SSR (рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд░реЗрдВрдбрд░рд┐рдВрдЧ) рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдорд░реНрде рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╢рдмреНрдж рд╕реЗред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рдпрд╣ рдПрдХ рдЯреИрдореНрдмреЛрд░рд┐рди рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рдиреГрддреНрдп рдХреЗ рдмрд┐рдирд╛ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛, рдЬреИрд╕реЗ рдХрд┐ "рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╡рд╛рджреЗ"ред
- рдПрдХ рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп SSR, рдФрд░ рд╕рд╕реНрдкреЗрдВрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реБрдП, React.Lazy рд╕реЗ рдмрджрддрд░ рдирд╣реАрдВ рд╣реИрдВред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдВрджрд░ рд░реИрдкрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (loadable.lib, рдЖрдк React рд░реЗрдВрдбрд░рдкреНрд░реЙрдк рдореЗрдВ рдХреНрд╖рдгреЛрдВ рдХреЛ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рдкреНрд░реАрдмреБрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рд╡реЗрдмрдкреИрдХ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рд╡реЗрдмрдкреИрдХ рдЦреБрдж рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрдврд╝реЗрдВред
рдПрд╕рдПрд╕рдЖрд░
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдВрдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рдПрд╕рдПрд╕рдЖрд░ рдореЗрдВ рд╣реИред CSR (рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рд░реЗрдВрдбрд░) рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ React.lazy рдпрд╛ 10 рд▓рд╛рдЗрдиреЛрдВ рд╡рд╛рд▓реА рдПрдХ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд┐рдЯ рд╣реЛрдЧреА - рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдПрдХ рдмрдбрд╝реЗ рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдкрд░ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ SSR рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЖрдЧреЗ рдкрдврд╝рдирд╛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд▓рдВрдмреЗ рдФрд░ рдХрдард┐рди рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрд╕рдПрд╕рдЖрд░ рдПрдХ рджрд░реНрдж рд╣реИред рдореИрдВ (рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ) рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рднрдпрд╛рдирдХ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдХреАрдбрд╝реЗ рдирд┐рдХрд▓рддреЗ рд╣реИрдВред рдФрд░ рд╣рд░ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рд╡реЗрдмрдкреИрдХ рдФрд░ рднреА рдЬреНрдпрд╛рджрд╛ рдЙрдбрд╝рддрд╛ рд╣реИред
рдПрд╕рдПрд╕рдЖрд░ + рд╕реАрдПрд╕рдПрд╕
SSRs рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реНрд░реЛрдд CSS рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрдЯрд╛рдЗрд▓реЗрдб-рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рд╣реИрдВ - рддреЛ рдпрд╣ рдмрд╣реБрдд рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рдкрд╣реБрдБрдЪрд╛рддрд╛ рд╣реИ - рд╡реЗ transform-stream
рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЕрдВрддрд┐рдо рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ рдЬрдЧрд╣ рдПрд╕рд╕реА рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдлреЛрдХрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ - рдПрд╕рд╕реА рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрддрд╛ рдкрд╛рдПрдЧрд╛, рдФрд░ рдПрд╕рд╕реА рдирд╕реНрд▓ (рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдХреА рдЬрд╛рдВрдЪ) рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдирд╛, рдЗрд╕ рд╕реАрдорд╛ рдХреЗ рдХрд╛рд░рдг рдареАрдХ рд╣реИ рдХрд┐ рдлреЛрдХрд╕ рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ ред
рд╕реА рднрд╛рд╡рдирд╛ рд╕рд░рд▓ рд╣реИ - рдЙрдирдХреЗ styled
рдПрдбрд╛рдкреНрдЯрд░ рдмрд╕ рдШрдЯрдХ рдХреЗ рд╕рд╛рдордиреЗ <style>
рдмрд╛рд╣рд░ рдереВрдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╕рд░рд▓, рд╕рд╕реНрддрд╛ рдФрд░ рд╣рдВрд╕рдореБрдЦред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рдореЛрдмрд╛рдЗрд▓ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рдФрд░ рдмрд╣реБрдд рдкрд╣рд▓реЗ-рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рджреВрд╕рд░рд╛ рдмрд┐рдЧрд╛рдбрд╝ рджреЗрддрд╛ рд╣реИред рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░рд╛ рд╡рд┐рд╡реЗрдХ рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрдирд▓рд╛рдЗрди рд╢реИрд▓рд┐рдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рд╕рд╛рдзрд╛рд░рдг рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде (рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЬрд╛рджреВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рд╕реАрдПрд╕рдПрд╕-рдЗрди-рдЬреЗрдПрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдпрд╣ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реИ - рд╡реЗрдмрдкреИрдХ рдХреЙрд▓рдо рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдФрд░ рдпрд╣ "рдЬреНрдЮрд╛рдд" рд╣реИ рдЬрд┐рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИред
рдХрдиреЗрдХреНрд╢рди рдЖрджреЗрд╢
рдпрд╣рд╛рдВ рдХреБрддреНрддреЗ рдиреЗ рд╣реА рджрдлрдирд╛рдпрд╛ред рдореБрдЭреЗ рдХрдм рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
SSR рдлреНрд░реЗрдВрдбрд▓реА рдХреЛрдб рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ ReactDOM.hydrate
рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ ReactDOM.hydrate
рдЖрдкрдХреЛ рдЙрди рд╕рднреА "рдШрдЯрдХреЛрдВ" рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рднрд░реА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд░реНрджрд╛рд╢реНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреЙрд▓рдмреИрдХ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рддрдм рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рд╕рднреА-рд╕рднреА-рд╕рднреА рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдк рдорд╕реНрддрд┐рд╖реНрдХ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ SSR рдХреЛрдбрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХрд╛рдо рдХрд╛ рдЕрд░реНрде рд╣реИред
рдЬреЗрдПрд╕ рдХреЛ рдХрд┐рд╕реА рднреА рд╕рдордп рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЙрдирдХреА рд╕реВрдЪреА HTML рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди CSS, рддрд╛рдХрд┐ рдХреЛрдИ FOUC рди рд╣реЛ, рдХреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреБрд░рд╛рдиреЗ renderToString
рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдФрд░ рд╕рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА renderToNodeStream
рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред
рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдЬреЗрдПрд╕ (рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ), рдпрд╛ рдПрд╕рд╕реА / рднрд╛рд╡рдирд╛ (рдЬреЛ рдЦреБрдж рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛)ред рд▓реЗрдХрд┐рди - рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ "рдмрд╕ рд╕реАрдПрд╕рдПрд╕" рд╣реИ - рдпрд╣реА рд╣реИред рдпрд╛ рддреЛ рд╡реЗ рдЕрдВрдд рдореЗрдВ рд╣реЛрдВрдЧреЗ, рдпрд╛ рдЙрдиреНрд╣реЗрдВ renderToString
, рдпрд╛ рдЕрдиреНрдп рдмрдлрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ renderToString
рд╣реЛрдЧрд╛, рдЬреЛ рдЯреАрдЯреАрдПрдлрдмреА (рдЯрд╛рдЗрдо рдЯреВ рдлрд░реНрд╕реНрдЯ рдмрд╛рдЗрдЯ) рд╡рд┐рд▓рдВрдм рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рдПрд╕рдПрд╕рдЖрд░ рдХреЛ рд╣реЛрдиреЗ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрдо рдХрд░реЗрдЧрд╛ред
рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ - рдпрд╣ рд╕рдм рд╡реЗрдмрдкреИрдХ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЧреНрд░реЗрдЧ рдХреЗ рд╕рдореНрдорд╛рди рдХреЗ рд╕рд╛рде, рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд▓реЗрдЦрдХ - рдореИрдВ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред
рдЕрдЧрд▓рд╛ рдПрдХ рддреАрди-рднрд╛рдЧ рдХрд╛ рдПрдЬреЗрдВрдбрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдорд╛рд░рд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ рдФрд░ рдмрдВрдбрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИред
1. рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЖрдпрд╛рддрд┐рдд-рдШрдЯрдХ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЖрдпрд╛рддрд┐рдд-рдШрдЯрдХ рдПрдХ рдЦрд░рд╛рдм "рд▓реЛрдбрд░" рдирд╣реАрдВ рд╣реИ, рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдорд╛рдирдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде, рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп-рдШрдЯрдХреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЬреЛ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдЖрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред
stats.json
рдХреЛ stats.json
рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, stats.json
рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди ( stats.json
, рдпрд╛ рдХреЙрдорди рдХреЛрдб) рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рд╣реИ - рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕рд░рдгреА рдореЗрдВ рдХреБрдВрдЬреА рдореЗрдВ рдПрдХ рдЖрдпрд╛рдд рдХреЗ "рд▓реЗрдмрд▓" рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдВрдбрд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдиреА рдлрд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рдПрдВрдЧреА рдФрд░ рдХрд╣рд╛рдВ рд╕реЗ рдЙрдирдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдорд╛рдЗрдирд╕ - рдореБрдЦреНрдп рдмрдВрдбрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж "рдкреНрд░рдпреБрдХреНрдд" рдЪрдВрдХреНрд╕ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рд╣реЛрддреА рд╣реИ, рдЬреЛ рдореИрдкрд┐рдВрдЧ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ "рдмрд╛рдж рдореЗрдВ" рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реАрдзреЗ HTML рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рд╣рд╛рдВ, рд╕реАрд╕реАрдПрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╢рдмреНрдж рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
2. рдкреНрд░рдпреБрдХреНрдд-рд╢реИрд▓реА
рд▓реЗрдХрд┐рди рдкреНрд░рдпреБрдХреНрдд-рд╢реИрд▓реА рдХреЗрд╡рд▓ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЖрдпрд╛рддрд┐рдд-рдШрдЯрдХред
- рд╕рднреА рд╕реАрдПрд╕рдПрд╕ (рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ) рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ
- рдпрд╛рдж рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╡рд░реНрдЧ рдХреЛ рдХрд╣рд╛рдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- рд╕реНрдХреИрди рдЖрдЙрдЯрдкреБрдЯ рд░реЗрдВрдбрд░ToNodeStream (рдпрд╛
renderToString
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛) - рд╡рд░реНрдЧ = 'XXX' рдкрд╛рддрд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЗрд╕реЗ рдмрд╛рд╣рд░ рдереВрдХрддрд╛ рд╣реИред
- (рдареАрдХ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рд┐рд░ рдХреЛ рдРрд╕реА рд╕рднреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЯреЗрд▓реАрдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рд╛рдЗрдбреНрд░реЗрдЯ рдХреЛ рди рддреЛрдбрд╝реЗрдВ)ред рд╕реНрдЯрд╛рдЗрд▓ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рд╕рд┐рд░реНрдл рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдХреЛрдИ TTBT рд╡рд┐рд▓рдВрдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдмрдВрдбрд▓рд░ рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реИ - рдПрдХ рдкрд░реА рдХрдерд╛ред рдПрдХ рдШрдбрд╝реА рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЖрдпрд╛рдд-рдШрдЯрдХ + рдкреНрд░рдпреБрдХреНрдд-рд╢реИрд▓рд┐рдпрд╛рдБ + рдкрд╛рд░реНрд╕рд▓ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдгред
рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдмреЛрдирд╕ рдирд╣реАрдВ рд╣реИ - рд╕рд░реНрд╡рд░ рдкрд░, рджреЛрдиреЛрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди "рд╕рдм рдХреБрдЫ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ" рдХрд░реЗрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
3. рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдкреВрд░реНрд╡-рдШрдЯрдХ
рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╢реАрд░реНрд╖ рддреАрди рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ "рдЖрдВрд╢рд┐рдХ рдкреБрдирд░реНрдЬрд▓реАрдХрд░рдг" рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рджрд╛рджрд╛рдЬреА рддрд░реАрдХреЗ рд╕реЗ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрддрд╛ рд╣реИред рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рджрд┐рд╡рд╕" тАЛтАЛрдЬреЛрдбрд╝рддрд╛ рд╣реИред
- рд╕рд░реНрд╡рд░ рдкрд░:
- "рдкреНрд░рд╕рд┐рджреНрдз рдЖрдИрдбреА" рдХреЗ рд╕рд╛рде рдПрдХ div рдореЗрдВ рд▓рдХрдбрд╝реА рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ
- рдЧреНрд░рд╛рд╣рдХ рдкрд░:
- рдХрдВрдкреЛрдиреЗрдВрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЕрдкрдирд╛ рдбрд┐рд╡ рдЦреБрдж рдвреВрдВрдврддрд╛ рд╣реИ
- React рдХреЛ рд▓реЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕рдХреЗ рдЖрдВрддрд░рд┐рдХ HTML рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред
- рдЬрдм рддрдХ рдХреНрд▓рд╛рдЗрдВрдЯ
hydrate
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рддрдм рддрдХ рдЗрд╕ HTML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ hydrate
- рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдпрд╣ рд╣рд╛рдЗрдмреНрд░рд┐рдб SSR (рд░реЗрдВрдбрд░реНрдЯреНрд░реЙрди) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
const AsyncLoadedComponent = loadable(() => import('./deferredComponent')); const AsyncLoadedComponent = imported(() => import('./deferredComponent')); <PrerenderedComponent live={AsyncLoadedComponent.preload()} // when Promise got resolve - component will go "live" > <AsyncLoadedComponent /> // meanwhile you will see "preexisting" content </PrerenderedComponent>
рдпрд╣ рдлреЛрдХрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реАрд▓реЛрдб рд╡рд╛рджреЗ рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ ред рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬреИрд╕реЗ рд░рд┐рдПрдХреНрд╢рди-рд╕реНрдиреИрдк (рдФрд░ рдЕрдиреНрдп "рдкреНрд░реАрд░реЗрдиреНрдбрд░реНрд╕") рдЬрд┐рдирдореЗрдВ "рд╕рд╛рдордЧреНрд░реА" рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдПрд╕рдПрд╕рдЖрд░ рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░рд╛ рд╣реИред

рдХреЛрдб рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ 10 рд▓рд╛рдЗрдиреЗрдВ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреЛрдб рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд░рдо рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП SSR-CSR UIDs рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИред
рдмреЛрдирд╕:
- рджрд┐рдорд╛рдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ "рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ" рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рджрд┐рдорд╛рдЧ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╣реА рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛
- рдЖрдкрдХреЛ SSR-ed рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ (рдпрджрд┐ SSR рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИ рддреЛ рджрд┐рдорд╛рдЧ рдЕрднреА рднреА рд▓реЛрдб рд╣реЛрдЧрд╛) рдмрд┐рд▓реНрдХреБрд▓ рднреА рджрд┐рдорд╛рдЧ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ jQuery рдХреЗ рд╕рдордп рдореЗрдВред
- рдЖрдк рдмрдбрд╝реЗ рд░реЗрдВрдбрд░ рдмреНрд▓реЙрдХ (рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕реБрд╕рдВрдЧрдд-рд╕рдВрдЧрдд) рдХреЗ рд╕реНрдЯреНрд░реАрдо рдХреИрд╢рд┐рдВрдЧ рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдлрд┐рд░ рд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
- рдФрд░ jQuery рдХреЗ рджреМрд░рд╛рди, HTML рд╕реЗ / рд╕реЗ рд░рд╛рдЬреНрдп рдХреЛ рдХреНрд░рдорд┐рдХ / рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреНрд░рдорд╛рдВрдХрди рдФрд░ рдбреАрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд░рд╛рдЬреНрдп рдмрдирд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдерд╛ (рдПрд╕рдПрд╕рдЖрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рд╕реЗ рдЪрд┐рддреНрд░)ред рдХреИрд╢рд┐рдВрдЧ рдмрд╛рдж рдореЗрдВ рдкрд╣реБрдВрдЪреЗред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рддреАрди рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ рдЬреЛ SSR рдФрд░ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ JS рдХреЛрдбрдкреНрд▓рд╛рдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЯреВрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕реАрдПрд╕рдПрд╕ рдХреЛрдбрдкреНрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рджреВрд╕рд░рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЯреВрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред рддреАрд╕рд░рд╛ HTML рд╕реНрддрд░ рдкрд░ рдХреБрдЫ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рд░рд▓ рдФрд░ рддреЗрдЬ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░, рдпрд╣ рдЯреВрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред
рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ:
рд▓реЗрдЦ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ)