рдЖрдзреБрдирд┐рдХ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦрд╛рджреНрдп рд╡рд┐рддрд░рдг рд╕реЗрд╡рд╛ рджреЗрдиреЗ рдХрд╛ рдПрдХ рдХреНрд▓реЛрди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдЗрдП : Nuxt.js , GraphQL , Strapi рдФрд░ Stripe !рдЪреЗрдХрдЖрдЙрдЯ рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рд╕реЗ, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирдП рд░реЗрд╕реНрддрд░рд╛рдВ, рд╡реНрдпрдВрдЬрди рдЦреЛрдЬрдиреЗ рдФрд░ рдЕрдкрдирд╛ рдкрд╕рдВрджреАрджрд╛ рднреЛрдЬрди рдЪреБрдирдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдВрдЧреЗредрдиреАрдЪреЗ рдЕрдВрддрд┐рдо рдбреЗрдореЛ рдЖрдкрдХреЛ рднреВрдЦрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП :)
рдкрд░рд┐рдЪрдп
Nuxt.js, Vue.js. рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИред рд▓реЙрдиреНрдЪ-рддреИрдпрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛, рдпрд╣ рд╡реЗрдмрдкреИрдХ рдФрд░ рдмреИрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдЪреНрдЫреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИредGueHub рдкрд░ 100K рд╕реЗ рдЕрдзрд┐рдХ рд╕рд┐рддрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде Vue.js рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдлреНрд░рдВрдЯ-рдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред 2014 рдореЗрдВ рдЗрд╡рд╛рди рдпреВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛, Vue.js рдЬрд▓реНрджреА рд╕реЗ рддреАрди рдореБрдЦреНрдп рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдиреЗрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмрди рдЧрдпрд╛: рд╕рд░рд▓ рдПрдкреАрдЖрдИ, рдЫреЛрдЯреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрдХрд╛рд░ рдФрд░ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рдиредREST рд╕рднреА рдореМрдЬреВрджрд╛ API рдХрд╛ 99% рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред SOAP рдХреА рдмрджреМрд▓рдд, REST рдЕрдкрдиреА рд╕рд╛рджрдЧреА рдХреЗ рдХрд╛рд░рдг рддреЗрдЬрд╝реА рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдмрди рдЧрдпрд╛ред2015 рдореЗрдВ, рдлреЗрд╕рдмреБрдХ рдиреЗ рдЧреНрд░рд╛рдлрдХрд╛рд░реНрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛- рдПрдкреАрдЖрдИ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛, рдпрд╣ рдмрдврд╝рддреА рд░рд╣рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ GitHub, Twitter рдФрд░ Yelp рдЬреИрд╕реА рдХрдВрдкрдирд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИредрд╕реНрдЯреНрд░реИрдкреА рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реЗрдбрд▓реЗрд╕ рд╕реАрдПрдордПрд╕ рд╣реИ рдЬреЛ рдПрдкреАрдЖрдИ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИредрдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдкреНрд▓рдЧрдЗрди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде, рд╕реНрдЯреНрд░реИрдкреА рдХрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг, рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди, рдПрдкреАрдЖрдИ рдкреАрдврд╝реА, рдЖрджрд┐редрд╕реНрдЯреНрд░реИрдкреА 100% рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ ( GitHub рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ ), рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ:- рд╕реНрдЯреНрд░реИрдкреА рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдлреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред
- рдЖрдк рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдЯреНрд░реИрдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдбреЗрдЯрд╛ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рдЦреЛрдП рдмрд┐рдирд╛ред
- рдкреНрд▓рдЧрдЗрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рдзрдиреНрдпрд╡рд╛рджред
рд╕реНрдЯреНрд░рд╛рдЗрдк рдПрдХ рдСрдирд▓рд╛рдЗрди рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ рднреБрдЧрддрд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╣рдо рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдСрд░реНрдбрд░ рдкреНрд▓реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗредрдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ!рдиреЛрдЯ: рд▓реЗрдЦреЛрдВ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ редNuxt рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ vue cli рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ Nuxt.js рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЪрд▓реЛ @ vue / cli рдбрд╛рд▓рддреЗ рд╣реИрдВ рдпрджрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:yarn global add @vue/cli
npm install -g @vue/cli
рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ deliveroo-clone-tutorial
:mkdir deliveroo-clone-tutorial
рдлрд┐рд░ рдЙрд╕ рдкрд░ рдЬрд╛рдПрдВ:cd deliveroo-clone-tutorial
рдЕрдЧрд▓рд╛, рдПрдХ Nuxt.js рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ frontend
:yarn create nuxt-app frontend
npx create-nuxt-app frontend
npm init nuxt-app frontend
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрджреЗрд╢ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛рд░реНрди рдЪреБрдирдХрд░ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЙрддреНрддрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:? Choose the package manager: Yarn
рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдВрдЯрд░ рджрдмрд╛рдПрдВредрд╣рдо рднреА рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВ:cd frontend && yarn dev
рдареАрдХ! рдЪрд▓реЛ рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдЦреЛрд▓реЗрдВ : 3000 рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖредUIkit рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
UIkit рддреЗрдЬ рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓рд░, рд╣рд▓реНрдХреЗ рд╕реАрдПрд╕рдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИредрд╣рдо рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЗрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗредрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ uikit рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ frontend
:yarn add uikit
рдЕрдм рд╣рдореЗрдВ Nuxt рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ uikit рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдо рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗредрдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ /frontend/plugins/uikit.js
рдФрд░ рдЙрд╕рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВ:import Vue from 'vue'
import UIkit from 'uikit/dist/js/uikit-core'
import Icons from 'uikit/dist/js/uikit-icons'
UIkit.use(Icons)
UIkit.container = '#__nuxt'
Vue.prototype.$uikit = UIkit
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдлрд╛рдЗрд▓ рдХреЛ nuxt.config.js
рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП:...
css: [
"uikit/dist/css/uikit.min.css",
"uikit/dist/css/uikit.css",
],
plugins: [
{ src: '~/plugins/uikit.js', ssr: false }
],
...
рдареАрдХ! UIkit рддреИрдпрд╛рд░ рд╣реИ!рдЕрдм рдкрд╣рд▓рд╛ рдХрдВрдкреЛрдиреЗрдВрдЯ рдмрдирд╛рддреЗ рд╣реИрдВредрдПрдХ рд╣реЗрдбрд░ рдШрдЯрдХ рдмрдирд╛рдПрдБ
рдШрдЯрдХ Header.vue
рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдШрдЯрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВрдПрдХ Header.vue
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ/frontend/components/
<template>
<client-only>
<nav class="uk-navbar-container" uk-navbar>
<div class="uk-navbar-left">
<ul class="uk-navbar-nav">
<li class="uk-active">
<router-link tag="a" class="navbar-brand" to="/" exact>Deliveroo clone</router-link>
</li>
<li>
<router-link tag="a" class="navbar-brand" to="/restaurants" exact>Restaurants</router-link>
</li>
</ul>
</div>
</nav>
</client-only>
</template>
рдПрдХ рдШрдЯрдХ layouts/default.vue
рдЖрдкрдХреЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреА рдЬрдбрд╝ рд╣реИред рдЗрд╕рдХреЗ рдЕрдВрджрд░ рд╣рдорд╛рд░реЗ <nuxt /> рдПрдкреНрд▓реАрдХреЗрд╢рди рдирд┐рд╣рд┐рдд рд╣реИред (рд╡реЗ рдкреГрд╖реНрда рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ)рдЕрдЧрд▓рд╛, рдЙрд╕ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ Header.vue
рдЖрдкрдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдФрд░ рдЙрд╕ рдХрдВрдЯреЗрдирд░ рдХреЛ рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛редрдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдХреЙрдкреА рдФрд░ рдмрджрд▓реЗрдВ /frontend/layouts/default.vue
:<template>
<div>
<Header />
<div class="uk-section uk-section-default">
<div class="uk-container uk-container-large">
<nuxt />
</div>
</div>
</div>
</template>
<script>
import Header from '~/components/Header.vue'
export default {
components: {
Header
}
}
</script>
рдЕрдм рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдиреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЛ /frontend/pages/index.vue
рдмрджрд▓рддреЗ рд╣реИрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рд╛рдордЧреНрд░реА рдФрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ:<template>
<div>
<img src="https://media.giphy.com/media/zBL9j9oiR3VM4/giphy.gif" class="uk-position-center" alt="">
</div>
</template>
рдЕрдм рд╣рдо рдореБрдЦреНрдп рдкреГрд╖реНрда (index.vue) рдкрд░ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ layouts/default.vue
рдФрд░ рдЬрд╣рд╛рдВ рдШрдЯрдХ рднреА рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИHeader.vue
- рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреГрд╖реНрда рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ : 3000
- рдпрджрд┐ рдЖрдкрдиреЗ рдХрдорд╛рдВрдб рдХреЛ рдкрд╣рд▓реЗ рд░реЛрдХрд╛ рдерд╛ рддреЛ рдпрд╛рд░реНрди рдпрд╛рд░реНрди рдпрд╛ npm рд░рди рджреЗрд╡ рдЪрд▓рд╛рдПрдБ

Strapi
рдЬрдм рдХреЛрдИ рдлреНрд░рдВрдЯрдПрдВрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рд░реЗрд╕реНрддрд░рд╛рдВ, рд╡реНрдпрдВрдЬрди рдФрд░ рдСрд░реНрдбрд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИредрдЗрд╕ рдЬрд╛рджреВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реИрдкреА рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВредрд╕реНрдЯреНрд░реИрдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк Node.js 10 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рднреА рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ: MongoDB, Postgres, рдпрд╛ MySQLредрд╕реНрдЯреНрд░реИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ --quickstart
рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдЯреНрд░реИрдкреА рдХреЛ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕реНрдЯреНрд░реИрдкреА рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред (рдпрджрд┐ MongoDB рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)рд╕реНрдЯреНрд░реИрдкреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ рдЬреЛ рд╣рдо backend
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд╛рдо рджреЗрдВрдЧреЗdeliveroo-clone-tutorial
yarn create strapi-app backend --quickstart
npx create-strapi-app backend --quickstart
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рд╣реЛрдиреЗ рддрдХ рд╣рдо рдХреБрдЫ рд╕реЗрдХрдВрдб рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдЦреЛрд▓реЗрдВ : 1337 / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / рдЕрдЧрд▓реЗ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВредрдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕реНрдЯреНрд░реЗрдкреА рд╕рд░реНрд╡рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:strapi develop
рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдмрдирд╛рдПрдБ
рдкрдВрдЬреАрдХрд░рдг рдкреГрд╖реНрда
рдкрд░ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЬреЛрдбрд╝реЗрдВ ред
рдорд╣рд╛рди рдХрд╛рдо, рд╣рдо рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ Nuxt.js рдФрд░ Strapi рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ!
рдЕрдиреБрд╡рд╛рджрдХ рдХреЗ рдиреЛрдЯреНрд╕:рд▓реЗрдЦрдХ рдХреЛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реАрдпрд╣ рд▓реЗрдЦ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рд╣реИ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рдЙрди рд╕рднреА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВредрдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдереА!