(рдПрдо) рд╡реАрд╕реА рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡

рдЕрдм рдХрдИ рджрд┐рдиреЛрдВ рд╕реЗ, рдореИрдВ рдХрдИ рдбреЗрдореЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Node.js рдврд╛рдВрдЪреЗ рдХрд╛ рдЪрдпрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ 4 рд░реВрдкрд░реЗрдЦрд╛рдУрдВ ( рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ , рдПрдХреНрд╕рдкреНрд░реЗрд╕ , рдЧреЗрдбреНрдбреА , рдкрд╛рд▓ ) рдФрд░ рдЕрдкрдиреЗ рд▓реЗрдЦреЛрдВ рдХреЗ рдЪрдХреНрд░ рд╕реЗ рдЧреБрдЬрд╝рд░рд╛ , рдЬреЛ рдореИрдВрдиреЗ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдерд╛ред

рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдореЗрд░реЗ рджреЛрд╕реНрдд рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдкрд░ рдореЗрд░реЗ рдзреНрдпрд╛рди рдореЗрдВ рдЖрдпрд╛, рдЬрд┐рд╕рдиреЗ рдореБрдЭрд╕реЗ рдХрд╣рд╛: "рд╕реБрдиреЛ, рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдирдпрд╛ рдврд╛рдВрдЪрд╛ рд╣реИ рдЬреЛ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдорд╡реАрд╕реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред"

рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ


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

var SearchController = new Controller(); SearchController.find = function() { this.query = this.param('query'); // execute search query... } module.exports = SearchController; 


"рдПрдХреНрд╢рди рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ" рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ / рдмрд╛рдж рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ (рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдореЗрдВ рдЗрд╕реЗ " рдлрд┐рд▓реНрдЯрд░ " рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ):

 PhotosController.before('show', function(next) { var self = this; if (this.param('id')) { next(); } else { return next(тАЬErrorтАЭ); } }); PhotosController.show = function() { this.render(); } 


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

 PhotosController.before('*', function(next) { //       PhotosController }); 


рдареАрдХ рд╣реИ, "рдПрдХреНрд╢рди рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯреНрд╕" рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдХреЗ рдкрд╛рд╕ "рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд░реНрддрд╛" рддрдВрддреНрд░ (http://en.wikipedia.org/wiki/Content_negotiation) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ, рдЕрд░реНрдерд╛рдд, рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рднреАрддрд░ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдзрд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред , рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 PhotosController.index = function() { this.respond({ 'xml': { template: 'feed' }, 'html': { template: 'index' } }); } 


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

Accept: text/html;

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ "рдЙрдкрд╣рд╛рд░" рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛, рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред

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

  this.match('songs/:title', { controller: 'songs', action: 'show' }); 


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

  this.resources('photos'); 


рдЖрдкрдХреЛ рдРрд╕реЗ рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдПрдЧрд╛:

рд╡рд┐рдзрд┐:рдорд╛рд░реНрдЧ:рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкрд░ рдЬреЛрд░ рджреЗрдВ:
рдкреНрд░рд╛рдкреНрдд/ рддрд╕реНрд╡реАрд░реЗрдВрд╕реВрдЪреА
рдкреНрд░рд╛рдкреНрдд/ рддрд╕реНрд╡реАрд░реЗрдВ / рдирдпрд╛рдирдИ
рдкреЛрд╕реНрдЯ/ рддрд╕реНрд╡реАрд░реЗрдВрдмрдирд╛рдиреЗ
рдкреНрд░рд╛рдкреНрдд/ рддрд╕реНрд╡реАрд░реЗрдВ /: рдЖрдИрдбреАрдкреНрд░рджрд░реНрд╢рди
рдкреНрд░рд╛рдкреНрдд/ рддрд╕реНрд╡реАрд░реЗрдВ /: рдЖрдИрдбреА / рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВрд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
PUT/ рддрд╕реНрд╡реАрд░реЗрдВ /: рдЖрдИрдбреАрдЕрджреНрдпрддрди
рд╣рдЯрд╛рдПрдБ/ рддрд╕реНрд╡реАрд░реЗрдВ /: рдЖрдИрдбреАрдирд╖реНрдЯ


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

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╕рд╛рдиреА рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛


"рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ + рд╕реЙрдХреЗрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╕рднреА рдбреЗрдореЛ рдмрдирд╛рдП," рдореИрдВ рдРрд╕рд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ:

 npm install locomotive -g 

рдФрд░ рдлрд┐рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ:
 lcm create project 

рдФрд░ рдЪрд▓рд╛рдПрдВ:
 cd project && lcm server 


рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдЕрдм рддрдХ, рдпрджрд┐ рдЖрдк http: // localhost: 3000 рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдЖрдкрдХреЛ рдЦреБрд╢ рдХрд░ рджреЗрдЧрд╛ред
рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдерд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХреЗ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХреЗред
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдореЗрдВ рд╣реИред
рд▓реЗрдХрд┐рди рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдкреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рдмрди рдЧрдИред рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдПрдХреНрд╕рдкреНрд░реЗрд╕ (рдРрдк) рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдврд╛рдВрдЪреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рдПред (рдмреЗрд╢рдХ, рдЖрдк рдмреЗрд╡рдХреВрдл рдХреЛрдб рдХреЛ рдкреИрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рд╣рдорд╛рд░реЗ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВ)ред рддрдм рдореИрдВрдиреЗ Express.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рддреНрдпрд╛рдЧ рджрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдерд╛ рдХреНрдпреЛрдВрдХрд┐ Express.io рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЯрд┐рдХреА рд╣реБрдИ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░ рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕реЗ рд╕реАрдзреЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рднреА рдореБрдЭреЗ рдирд┐рд░рд╛рд╢рд╛ рд╣реБрдИред рдпрд╣рд╛рдВ рдЙрди рд▓рд┐рдВрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рд▓реЛрдЧ "рдЙрдкрджреНрд░рд╡" рдХреЗ рдмрд┐рдирд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ , рдФрд░ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдбреЗрд╡рд▓рдкрд░ рдЧрд┐рддреБрдм рдкрд░ "рдорд░реНрдЬ рдкреБрд▓ рдЕрдиреБрд░реЛрдз" рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВ рдирд╣реАрдВ рд╣реИред рд╣рд╛рдВ, рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдЕрднрд┐рдпрд╛рди рдЗрд╕ рдврд╛рдВрдЪреЗ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЬреАрдердм рдкрд░ рдХрдорд┐рдЯреНрд╕ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рд╣реИред


рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ


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

рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рд╣рд┐рддреНрдп:

http://locomotivejs.org/guide

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


All Articles