Angular.js рдкрд░ рдПрдХрддреНрд░рд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ

рдпрд╣ рдкрдж рдПрдВрдЧреБрд▓рд░рдЬ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧрд╛ред рдореИрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХреБрдЫ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ред



рддреЛ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЖрдо рддреМрд░ рдкрд░ рдХреИрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? Grunt / Gulp рдкреНрд▓рдЧрдЗрдиреНрд╕, рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ редjs, рдмреНрд░рд╛рдЙрдЬрд╝рд░рд╛рдЗрдЬрд╝ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред



рд▓реЗрдХрд┐рди рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИред рдЬрдм рдЖрдк рдПрдХ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдордЭрд╛рдКрдВрдЧрд╛ред



рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:



app.js controllers.js services.js directives.js filters.js
      
      





рд╡рд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдХреНрд░рдо рдЙрд╕реА рдЧреНрд░рдиреНрдЯ / рдЧреБрд▓рдк рдореЗрдВ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



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



 app.js controllers/ FirstCtrl.js SecondCtrl.js services/ FirstSrv.js SecondSrv.js
      
      





рддреЛ рдЖрдк рдХрдИ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рдЕрдзрд┐рдХрддрд░, рдХрдард┐рдирд╛рдИ рдпрд╣ рд╣реЛрдЧреА рдХрд┐ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рд┐рд▓рд╛рдИ рдЬрд╛рдП рддрд╛рдХрд┐ рдХреЛрдгреАрдп рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рдо рдХрд░реЗред рддреЛ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?





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



 angular.module('App').controller('FirstCtrl',function($scope){...});
      
      





рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, FirstCtrl рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ App рдореЙрдбреНрдпреВрд▓ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



 angular.module('App',[]);
      
      







рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ, рдкрд░реАрдХреНрд╖рдг рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



 angular.module('App',['App.controllers','App.services','App.directives','App.filters']);
      
      





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



 app.js controllers/ module.js FirstCtrl.js SecondCtrl.js services/ module.js FirstSrv.js SecondSrv.js
      
      





рдЬрд╣рд╛рдВ рдХреНрд░рдорд╢рдГ рдореЙрдбреНрдпреВрд▓ .js рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрддреА рд╣реИрдВ:



 angular.module('App.controllers',[]);
      
      





рдФрд░



 angular.module('App.services',[]);
      
      







рдФрд░ рдлрд┐рд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЙрдирдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░ рдореЙрдбреНрдпреВрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдВрдЧреЗ рдХреЙрдиреИрдЯ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ ( рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ )ред рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ .js рдФрд░ Browserify рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



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



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



рдЗрд╕ рд╕рдм рдореЗрдВ, рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдерд╛ рдХрд┐ рд╢реБрд░реВ рдореЗрдВ рдПрдВрдЧреБрд▓рд░ рдХреА рдЕрдкрдиреА рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрд░рдЪрдирд╛ рдереА, рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рд╕рд╛рде рдмрд┐рд▓реНрдб рдСрд░реНрдбрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред



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



 angular.module('App','/controllers.js','/services.js')
      
      







рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ



 angular.module('App.controllers',[]);// controllers.js angular.module('App.services',[]);// services.js angular.module('App',['App.controllers','App.services']);//     ,    
      
      







рдирдЧрд░рдкрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреАрдердм рдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд░реБрдХрддрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╢реВрдиреНрдп рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЖрдкрдХреЛ рдореВрд▓ Angular.js рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рд╕реАрдзреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ



рдФрд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рд╡рд╛рд▓ рдЕрдиреИрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо Angular.js рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВ рди рдХреЛрдб рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рди рдХрд░реЗрдВред



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



рдЙрд╕реА рд╕рдордп, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдВрджрд░, рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЛ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдорд╛рд╡реЗрд╢ рдирд╣реАрдВ рд╣реИред



рдЧреБрд▓реНрдк рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдп:



 gulp.task('concat',function(){ gulp.src('/**/*.js') .pipe(concat('app.js')) .pipe(gulp.dest('./build/')); });
      
      







рдФрд░ рдЧреНрд░рдВрдЯ рдХреЗ рд▓рд┐рдП:



 grunt.initConfig({ concat: { default_options: { files: { 'build/app.js': 'test/src/complex/**/*.js' } } } });
      
      







рдЬрдмрдХрд┐ рд╕реЛрд░реНрд╕рдореИрдк рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдмрд╣реБрдд рдЗрдЪреНрдЫрд╛ рд╣реИред рдореИрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред



рдирддреАрдЬрддрди, рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдЬрд╛рдКрдВрдЧрд╛:

рд╕рд░рд▓ рд╕рдорд╡рд░реНрддреА - рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдард┐рди,

рдЖрд╡рд╢реНрдпрдХрддрд╛.рдЬреЗрдПрд╕ рдПрдХ рд╕реНрдерд┐рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ,

Browserify - рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЛрдб рдереЛрдбрд╝рд╛ рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди AMD рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ,

NgBuild рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рдЖрд╡рд╢реНрдпрдХрддрд╛ / Browserify рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрднреА рддрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрддрд┐рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдиреБрдХрд╕рд╛рди рдФрд░ рдХреАрдбрд╝реЗ рд╣реИрдВ,

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



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

рд╡рд╣ рд╕рдм рд╣реИред



All Articles