SSR: рдХрдм, рдХреНрдпреЛрдВ, рдФрд░ рдХрд┐рд╕ рд▓рд┐рдПред Vue рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░


( рдЪрд┐рддреНрд░рдг )

рдПрдХ рдмрд╛рд░ рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЬрдм рдореИрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реЗрдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рдерд╛, рд╣рдордиреЗ JSP рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рдкреВрд░реЗ рдкреЗрдЬ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕рд╡рд╛рд▓ рдпрд╣ рдЖрдпрд╛ рдХрд┐ рдЬрд╡рд╛рдм рдмрд╣реБрдд рд▓рдВрдмрд╛ рдЖрдпрд╛ ...

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

рдФрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрддрд┐рд╣рд╛рд╕ рдЦреБрдж рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ?

SSR рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреНрдпрд╛ рд╣реИрдВ?

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



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



рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХрдм рд▓рд╛рдЧреВ рд╣реЛ рд╕рдХрддреА рд╣реИ:

1. HTML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдм рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ? рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЬрдм рд╕рд╛рдЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рдХрднреА рдирд╣реАрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдХрдо рдмрджрд▓рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЬреВрддрд╛ рдорд░рдореНрдордд рд╕реНрдЯрд╛рд▓ рдХреА рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ, рдЬреЛ рдХреЛрдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИ (рд╣рд╛рдБ, рд╡рд╣ рдЪрд╛рдЪрд╛ рдЬреЛ 2x2 рдореАрдЯрд░ рдХреЗ рд╕реНрдЯрд╛рд▓ рдореЗрдВ рд╣реАрд▓ рдмрджрд▓рддрд╛ рд╣реИ, рд╡рд╣ рднреА рдХрдВрдкрдиреА рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЪрд╛рд╣рддрд╛ рдерд╛ - рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрдВрдкрдиреА рдХреЗ рдорд┐рд╢рди рдкреЗрдЬ рдХреЗ рд╕рд╛рде)ред рдРрд╕реА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ, SSR рдФрд░ рдЕрдиреНрдп рд╕реАрдЯреА рд╕реЗ рднреА рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдкрдбрд╝реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЧреЛрд▓рд╛рдХрд╛рд░ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 1k рдкреЛрд╕реНрдЯ рд╡рд╛рд▓рд╛ рдмреНрд▓реЙрдЧ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдХрднреА-рдХрднреА рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдХрднреА-рдХрднреА рд╣рдо рдирдП рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред 1k + рд╕реНрдЯреИрдЯрд┐рдХ рдлрд╛рдЗрд▓реНрд╕ рдЬреЗрдирд░реЗрдЯ рдХрд░реЗрдВ ... рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╣рдо рдкреЛрд╕реНрдЯ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдореНрдо ...

2. рдФрд░ рдпрд╣рд╛рдБ рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рд╣рдореЗрдВ рд╕реВрдЯ рдХрд░рддреА рд╣реИред рдЬрд╣рд╛рдВ рд╣рдо рдкрд╣рд▓реА рдмрд╛рд░ рдлреНрд▓рд╛рдИ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреИрд╢ рдХрд░рддреЗ рд╣реИрдВред рдХреИрд╢рд┐рдВрдЧ рд╕рдордп рдПрдХ рдШрдВрдЯрд╛ / рджреЛ / рджрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЬреЛ рднреА рд╣реЛред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдкреЛрд╕реНрдЯ рдкреНрд░рддрд┐ рдШрдВрдЯреЗ (рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рд╕рд╣реА?) 10,000 рдХреЙрд▓ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХреЛ рдЬрд╡рд╛рдм рдореЗрдВ рдПрдХ рдХреИрд╢реНрдб рдкреНрд░рддрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдореЗрдВ рд░рд╣рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдХрд┐рд╕реА рдкреЛрд╕реНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдХреИрд╢реНрдб рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЕрдЧрд▓реЗ рдкреГрд╖реНрда рдкрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреЗрдЬ рдЙрддреНрдкрдиреНрди рд╣реЛред

рд╢рдмреНрджреЛрдВ рд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рддрдХ:


рдирдорд╕реНрддреЗ рд╡рд┐рд╢реНрд╡ рд░реЗрдкреЛред

0) рд╣реЗрд▓реНрд▓реЛ рд╡рд░реНрд▓реНрдб рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ

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

$ vue init <template-name> <project-name> 

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

 $ vue init nuxt-community/starter-template habr-nuxt-example $ cd habr-nuxt-example $ yarn #  npm install,    $ yarn dev 

рдареАрдХ рд╣реИ , рд╣рдордиреЗ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдмрдирд╛рдпрд╛ред рдпреВрдЖрд░рдПрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдЙрддреНрдкрдиреНрди рдкреГрд╖реНрда рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
1) рд╡реЗрдмрдкреИрдХ рдФрд░ рд▓рд╛рдЗрдирд┐рдВрдЧ

рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ Nxt рдиреЗ ES6 (babel-loader), Vue рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ (рд╡рд╛рдЙ-рд▓реЛрдбрд░), рд╕рд╛рде рд╣реА SCSS, JSX рдФрд░ рдЕрдзрд┐рдХ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рд╣реИрдВред

рдпрджрд┐ рдпреЗ рдХреНрд╖рдорддрд╛рдПрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо nuxt.config.js рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ build.extend рдореЗрдВ рд╣рдо рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрддреЗ рд╣реИрдВред

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

рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг (рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдиреМрдХрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛):

 config.plugins.push( new StylelintPlugin({ files: [ '**/*.vue', 'assets/scss/**/*.scss' ], configFile: './.stylelintrc.dev.js' }) ) 

рд░реЗрдкреЛ рдореЗрдВ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреИрдЧ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣рдореЗрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдХреНрд░рдо рдореЗрдВ рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред

рдФрд░ рдПрдХ рд▓рд┐рдВрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг: рд╣рдо рдорд╛рдирдХ рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ Vue / Nuxt рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 ... extends: [ - 'plugin:vue/essential' + 'standard', + 'plugin:vue/recommended' ], тАж 

2) рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:

Axios рдХреЛ рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ:

 import * as axios from 'axios' let options = {} // The server-side needs a full url to works if (process.server) { options.baseURL = `http://${process.env.HOST || 'localhost'}:${process.env.PORT || 3000}` } export default axios.create(options) 

рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 import axios from '~/plugins/axios' export default { async asyncData ({ params }) { const { data } = await axios.get('https://jsonplaceholder.typicode.com/posts') return { data } } } 

рдЯреИрдЧ рджреНрд╡рд╛рд░рд╛ рд╢рд▓рдЬрдо рдореЗрдВ рдПрд▓реНрд╕ред

рдбрд╛рдЙрдирд▓реЛрдб рдирдВрдмрд░:

1) рдПрд╕рдПрд╕рдЖрд░ + рд╡рд╛рд░реНрдирд┐рд╢

рдкрд╣рд▓рд╛ рдЕрдиреБрд░реЛрдз:



рджреВрд╕рд░рд╛:



2) рдирд╣реАрдВ-рдПрд╕рдПрд╕рдЖрд░



рдлрд╛рд╕реНрдЯрд▓реЗ рд╕реЗ рджреВрд╕рд░рд╛ рдЕрдиреБрд░реЛрдз



рдПрдХ рд░рд┐рдХреНрдд рдкреГрд╖реНрда рддреЗрдЬрд╝реА рд╕реЗ рдЖрдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд░ рд╕рд╛рдордЧреНрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ 2 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


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

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


All Articles