рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдЬреБрд▓рд╛рдИ 2018 рдореЗрдВ,
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рд╣рдорд╛рд░реЗ рд╢рд┐рдХреНрд╖рдХ
, рдпреВрд░реА рдбреНрд╡реЛрд░рдЬрд╝реЗрддреНрд╕реНрдХреА рдиреЗ "
рд╡реЗрдмрдкреИрдХ + рд░рд┐рдПрдХреНрдЯ + рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛" рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЦреБрд▓рд╛ рд╡реЗрдмрд┐рдирд╛рд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреВрд╕рд░реЗ
рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ
рд░реВрдк рдореЗрдВ , рдЬрд╣рд╛рдВ рд╡рд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╢рд┐рдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╡реАрдбрд┐рдпреЛ рдФрд░ рдкрд┐рдЫрд▓реЗ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреА рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реАрдЯреЗрд▓рд┐рдВрдЧ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЦреБрд▓реЗ рдкрд╛рда рдореЗрдВ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ рдЧрдпрд╛:
- рдкреЗрд╢ рд╣реИ рдиреЛрдб рдЬреЗрдПрд╕ рдФрд░ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЬреЗрдПрд╕ред
- рдкреЗрд╢ рд╣реИ рд╡реЗрдмрдкреИрдХред
- рдкреНрд░рд╕реНрддреБрдд рд╣реИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред
рддреЛ рдЪрд▓рд┐рдП!
рдиреЛрдб рдЬреЗрдПрд╕
рдирдП рдИрдПрд╕ 6 рдорд╛рдирдХ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ 2017 рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рдкрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╕рдорд╛рди рдЖрдБрдХрдбрд╝реЛрдВ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЬрд╣рд╛рдВ рдЬреЗрдПрд╕ рдкрд╣рд▓рд╛ рд╕реНрдерд╛рди рд▓реЗрддрд╛ рд╣реИред
JS рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ Node JS рдерд╛, рдЬреЛ V8 рдЗрдВрдЬрди (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдорд╢реАрди рдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ рдФрд░ рдПрдХ рдЙрдЪреНрдЪ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп-рдкреНрд░рдпреЛрдЬрди рдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрдИ рд▓реЛрдЧ рдиреЛрдб рдЬреЗрдПрд╕ рдХреЛ "рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб" рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ "рд╕рд░реНрд╡рд░" рдХреЗ рдмрдЬрд╛рдп "рд╕рд░реНрд╡рд░" рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЛрдб рдЬреЗрдПрд╕ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╕рдореГрджреНрдз рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдирдкреАрдПрдо рдирд╛рдордХ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА npmjs.com рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ)ред рдФрд░ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдирд╣реАрдВ рд╣реИ, рдЕрдиреНрдп рд╣реИрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ package.json рд╣реИ рдФрд░ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдиреЛрдб рдЬреЗрдПрд╕ рдХреА рд╢реБрд░реВрдЖрдд рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛:
- NodeJS рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ njjs.org/en/ ;
- рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ;
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдиреЛрдб -v рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдЕрдЧрд▓рд╛ рдХрджрдо рдкрд╣рд▓рд╛ рдиреЛрдб рдЬреЗрдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИред рдЖрдк рдЗрд╕реЗ рджреЛ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- npm init рдХрдорд╛рдВрдб (рдПрдВрдЯрд░ рджрдмрд╛рдХрд░ рд╕рдм рдХреБрдЫ рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рдЬрд╛рд░реА);
- GitHub рдкрд░ рд▓рд┐рдВрдХ рд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ git рдЪреЗрдХрдЖрдЙрдЯ 0 рдХрдорд╛рдВрдб рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗред
рдЕрдЧрд▓рд╛ рдХрджрдо рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЬреЗрдПрд╕ рдХреЛ рдЬрд╛рдирдирд╛ рд╣реИред
рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЬреЗ.рдПрд╕.
рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЬреЗрдПрд╕ рдиреЛрдб рдЬреЗрдПрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реИред рдкрд╛рдпрдерди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ Django рдХреА рддрд░рд╣ рдХреБрдЫ рд╣реИ, рдХреЗрд╡рд▓ рд╡рд╣рд╛рдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, REST рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдПрдХреНрд╕рдкреНрд░реЗрд╕ JS RSON рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рд╣реИ рдЬреЛ JSON рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рднреЗрдЬрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдХрд╛рдлреА рддрдкрд╕реНрд╡реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреЛ рдХреБрдЫ рднреА рдЪрд╛рд╣рд┐рдП рдЙрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, "рдЦрд░рд╛рдм"ред рд╡реИрд╕реЗ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреНрдп рд╡реЗрдм рд╕рд░реНрд╡рд░ рднреА рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд▓рд┐рдВрдХ (рдорд┐рдбрд▓рд╡реЗрдпрд░) рдХреА рддрд░рд╣ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрднреА рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рддрд░реНрдХ рд╕реЗ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╡реЗрдмрд┐рдирд╛рд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЬреЗрдПрд╕ рдХреЛ рдПрдирдкреАрд╡реА рдЗрдВрд╕реНрдЯреЙрд▓ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ -save рд╕реНрд╡рд┐рдЪ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рд╕реНрдкреЗрд▓рд┐рдВрдЧ npm рдЗрдВрд╕реНрдЯрд╛рд▓ рдХреЗ рд╕рд╛рде рдПрдХ git (git рдЪреЗрдХрдЖрдЙрдЯ 1) рдореЗрдВ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ / рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкреИрдХреЗрдЬ рдХреА рд╕рд╛рдордЧреНрд░реА рдмрджрд▓ рджреА рдЧрдИ рдереАред рдЬреЗрд╕рди рдмрджрд▓ рдЧрдпрд╛ (рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкреНрд░рдХрдЯ рд╣реБрдИрдВ)ред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рдж, рд╕рд░реНрд╡рд░ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕рдордп рдерд╛:
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ /server.js рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред
- рдЗрд╕рдореЗрдВ рдХреБрдЫ рдЦрд╛рд╕ рдХреЛрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдЗрд╕ рд▓рд┐рдкрд┐ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ:
- "рд░рд╣рд╕реНрдпрдордп" рдиреЛрдб_рдореЙрдбрд▓ / рд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛;
- URL / рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдирд╛;
- рд▓реЙрдиреНрдЪ рдиреЛрдб JS (рдиреЛрдб server.js рдпрд╛ npm рд╕реНрдЯрд╛рд░реНрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред
рдЖрдк рдЯреИрдЧ рдирдВрдмрд░ 2 (рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ 2) рдкрд░ рднреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреЗрдПрд╕, рдИрдПрд╕ 6 рдФрд░ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд┐рдВрдЧ
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдИрдПрд╕ 6 рд╡рд░реНрддрдорд╛рди рдЬреЗрдПрд╕ рдорд╛рдирдХ рд╣реИред рдпрд╣ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ (рдХреЗрд╡рд▓ рд╕реЗрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ)ред рдирддреАрдЬрддрди, рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЖрдзреБрдирд┐рдХ ES6 рдкрд░ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ ES5.1 рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ? рдпрд╣рд╛рдБ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд┐рдВрдЧ рдЖрддрд╛ рд╣реИред рдЙрдирдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдИрдПрд╕ 6 рдореЗрдВ рд▓рд┐рдЦрд╛ рдХреЛрдб рд╣реИ;
- рд╣рдо рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (ES6 рдХреЛ ES5.1 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);
- рдкрд░рд┐рдгрд╛рдореА JS-ku рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреГрд╖реНрдареЛрдВ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рди рдХреЗрд╡рд▓ ES6, рдмрд▓реНрдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдмреЛрд▓рд┐рдпреЛрдВ рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЬреЗрдПрд╕ рдХреА рд╢рдХреНрддрд┐ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- "рдЯрд╛рдЗрдк" рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЯреАрдПрд╕);
- JSX - JS (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд░реВрдкрд░реЗрдЦрд╛) рдореЗрдВ XHTML;
- рдкреНрд░рд╡рд╛рд╣ - рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рдЪреЗрдХрд░ред
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд┐рдВрдЧ рдореЗрдВ рд╕реЗ рдПрдХ рдмрдмреЗрд▓ рд╣реИред рдпрд╣ рд╡рд╣ рдерд╛ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреБрд▓реЗ рдкрд╛рда рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд▓рд╛рдн:
- рдЖрдк рдПрдХ рдмрдВрдбрд▓ рдореЗрдВ рд╕рднреА рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЗрдВ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- рдмрдВрдбрд▓реЛрдВ рдХреЛ рдЫреЛрдЯрд╛ рдФрд░ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдЖрдк рдПрдХ рд╕рд╛рде LESS-> CSS рдЖрджрд┐ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
Webpack
рд╡реЗрдмрдкреИрдХ рд╕рдмрд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд▓реЗрдХреНрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд░рд▓ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдбрд░рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдирд╛ рдПрдХ рдмрд╛рд░ рдХрд╛ рдХрд╛рдо рд╣реИред рдФрд░ рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдХреЗ рдмрд┐рдирд╛, рд╡реЗрдмрдкреИрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдмрдиреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ "рдУрд╡рд░реЗрдЯ" рд╣реЛ рд╕рдХрддреА рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, webpack.config.js рдХреЛ рд╡реЗрдмрд┐рдирд╛рд░ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╢рдмреНрджрд╛рд╡рд▓реА рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХреА рдЧрдИ рдереАред
рдЕрдЧрд▓рд╛ рдХрджрдо рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд░рд┐рдПрдХреНрдЯ рдФрд░ рд╡реЗрдмрдкреИрдХ (npx рдиреНрдпреВрдирддрдо-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдпрд╛ рдЖрд▓рд╕реА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП git рдЪреЗрдХрдЖрдЙрдЯ 3 рдХрдорд╛рдВрдб) рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдирд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдирд╛рдП рдЧрдП cd рдХреНрд▓рд╛рдЗрдВрдЯ / рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ webpack.config.js рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдереЛрдбрд╝рд╛ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
рдзреАрд░реЗ-рдзреАрд░реЗ, рд░рд┐рдПрдХреНрдЯ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпред
рдкрд╣рд▓реА рдмрд╛рд░ рд░рд┐рдПрдХреНрдЯ рдФрд░ рдЙрд╕рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ "рд╕реЙрдлреНрдЯ" рд╡рд┐рд╕рд░реНрдЬрди рдХреЗ рд▓рд┐рдП, рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ / src / index.js рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдФрд░, рдЕрдЧрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реБрдЖ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ / src / рдШрдЯрдХ / app.js. рдЦреЛрд▓реЗрдВред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдореВрд▓ JSX рд╣реИред рдпрд╣ JS рдФрд░ XHTML рдХреА JS рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдмреЛрд▓реА рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЗрдПрд╕рдПрдХреНрд╕ рдореЗрдВ рдЗрд╕рдХреА рд╕рд╛рд░реА рд╢рдХреНрддрд┐ рдареАрдХ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рдПрдХ рдШрдЯрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реИрдХрд░реНрдиреВрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЗрд╕рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдкреИрдХреЗрдЬ рдФрд░ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рд╣реИред рдЖрд╡реЗрджрди рд╕реНрд╡рдпрдВ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдирдХреЗ рдорд╛рд░реНрдХрдЕрдк рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ:
- рдШрдЯрдХ рдПрдХ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- рдпрд╣ рдЬреЗрдПрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ;
- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреЛрдИ рдорд╛рд░реНрдХрдЕрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ;
- рдШрдЯрдХ рдЕрдкрдиреЗ рдиреЛрдЯ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ;
- рдорд╛рд░реНрдХрдЕрдк рдХреЛ рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рди рд╣реА рд╣реИ;
- рдЖрдк рдмрд╛рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд░рд┐рдПрдХреНрдЯ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗрдмрд┐рдирд╛рд░ рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рдЬрд╛рд░реА рд░рд╣рд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЧрдпрд╛:
- рдХреНрд▓рд╛рдЗрдВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЙрдиреНрдЪ рд╡реЗрдмрдкреИрдХ (рдХреНрд▓рд╛рдЗрдВрдЯ / рдПрдирдкреАрдПрдо рд░рди рджреЗрд╡);
- рд╢рд┐рдХреНрд╖рдХ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╛ git рдЪреЗрдХрдЖрдЙрдЯ 4 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рд░рд▓ рдШрдЯрдХ рд▓рд┐рдЦрдирд╛ (рд╡реЗрдмрдкреИрдХ рдХреЛ рд░реЛрдХрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛)ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рдкреНрд░реЙрдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдЯрд╛рдЗрдкреЛрдбрд╛рдпрдирд╛рдорд┐рдХ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ (git checkout 5)ред
рд╕рд╣рд╛рд░рд╛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ:
- рдШрдЯрдХреЛрдВ рдХреЗ рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВ
- рдЖрдк рди рдХреЗрд╡рд▓ рддрд╛рд░, рдмрд▓реНрдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдШрдЯрдХ рд▓рд╛рдЗрди рдкрд░ рд╕рдВрдЪрд╛рд░ рд╣рдореЗрд╢рд╛ рдкреНрд░реЙрдкреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ, рдмреИрдХрдПрдВрдб рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдЬреБрдбрд╝реЗ рдереЗ (git checkout 6)ред
рдЕрдВрдд
рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╣рдо рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред