Cogear.JS - рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рдПрдХ рдЖрдзреБрдирд┐рдХ рдЬрдирд░реЗрдЯрд░

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!


рдореИрдВ рд╣рдмреНрд░реЛрд╕реНрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдкреИрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд Node.JS рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реНрдЯреИрдЯрд┐рдХ рд╕рд╛рдЗрдЯ рдЬрдирд░реЗрдЯрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред


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


рдЫрд╡рд┐


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



рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


  • рдЖрдзреБрдирд┐рдХ рддрдХрдиреАрдХ рдХрд╛ рдвреЗрд░
    рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреИрдХреЗрдЬреНрдб (рдорд┐рдиреАрдХреГрдд, рд╕рдВрдХреБрдЪрд┐рдд, рдЧрдЬрд╝рд┐рдк рд╕рд╣рд┐рдд) рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЖрдзреБрдирд┐рдХ рд╕рд╛рдЗрдЯреЗрдВ рдмрдирд╛рдПрдБред
    рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рд╕рд╛рдЗрдЯ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
    рдХрд┐рд╕реА рднреА рдЖрдзреБрдирд┐рдХ рдлреНрд░рдВрдЯ - рдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ ( рд╡реЗрдмрдкреИрдХ рдХреЗ рдЕрдВрджрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - Vue.JS , рд░рд┐рдПрдХреНрдЯ , рдХреЛрдгреАрдп , рдПрдореНрдмрд░ , рдЖрджрд┐ред
  • рд╕реБрдкрд░ рдлрд╛рд╕реНрдЯ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп
    рдпрд╣ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб ~ 1000 рдкреГрд╖реНрдареЛрдВ (рдкреЗрдЬ рдХреА рд╕рд╛рдордЧреНрд░реА, рд╕рд╛рде рд╣реА рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╢рдХреНрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ) рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
    рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕реНрдереИрддрд┐рдХ HTML рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рднрд╛рд╖рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред
  • рдХреЛрдИ рднреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд░реЗрдЧрд╛
    рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ (рд╕реВрдЪрдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЪреВрдВрдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдерд┐рд░ HTML рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рд╣реИ )ред
  • рдПрдВрдмреЗрдбреЗрдб рддреИрдирд╛рддреА
    рдПрдХ рдкреНрд░реАрд╕реЗрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдПрдлрд╝рдЯреАрдкреА, рдПрд╕рдПрдлрдЯреАрдкреА рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ rsync рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдЗрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдХрд░реЗрдВред
    рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╕рд╛рдордЧреНрд░реА рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдЗрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рд╕реБрд░рдХреНрд╖рд┐рддред рдХреЛрдИ рдЕрджреНрдпрддрди рдирд╣реАрдВ
    рдЖрдк рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рд╡рд░реНрдбрдкреНрд░реЗрд╕ рдореЗрдВред
    100% рдХреЗ рд╕реНрддрд░ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд┐рд░ HTML (рд╕реБрд╡рд┐рдзрд╛) рдХреЛ рдХреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рднреА рдХрд╛рдордпрд╛рдм рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред
  • рдирд┐: рд╢реБрд▓реНрдХред рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд
    рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред рдПрдХ рдкреИрд╕рд╛ рдирд╣реАрдВ рджреЗрдирд╛ред

рдпрд╣ рдХрд┐рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ:


  • рд░реИрдкрд┐рдб рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкрд┐рдВрдЧ (рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рджрд┐рдЦрд╛рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЗрдВрдЬрди рдкрд░ рдЦреАрдВрдЪрд╛)
  • рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ
  • рдХрдВрдкрдиреА рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ
  • рдЙрддреНрдкрд╛рдж рд╕рд╛рдЗрдЯ
  • рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреНрд▓реЙрдЧ

рдХрд┐рд╕реА рднреА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдЬрд╣рд╛рдБ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЬрдирд┐рдд рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИред


рддреБрдо рднреА Github рдкрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рд╕рд╛рдореВрд╣рд┐рдХ рдмреНрд▓реЙрдЧ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ (PHP, Ruby, Python, Node.JS) рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд░реНрдбрдкреНрд░реЗрд╕ (JSON-API), рдФрд░ рдПрдХ рдЖрдзреБрдирд┐рдХ рдлреНрд░рдВрдЯ - рдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬреИрд╕реЗ Vue.JS рдпрд╛ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдлрд╛рдпрд░рдмреЗрд╕ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдп: рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░, рдЙрддреНрдкрд╛рдж рд╕реВрдЪреА рдФрд░ рдЗрддрдиреЗ рдкрд░ред


рдпрд╣ рдЙрдкрдпреБрдХреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ:


  • рдордВрдЪ
  • рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ
  • рдмрд╛рддрдЪреАрдд

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░реА рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдбрд╝рдиреЗ рдкрд░ рдкреГрд╖реНрда рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред


рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ


рдЖрдкрдиреЗ Node.JS (9.x рдпрд╛ рдЕрдзрд┐рдХ) рдФрд░ NPM (рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рд╛рде рдЪрд▓рддреЗ рд╣реИрдВ) рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред


рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ (рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред


рдмрд╛рдж рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ (v10.12.0) рдиреЛрдб.рдЬреЗрдПрд╕ред


рдпрд╣ Node.JS <v9.x рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ SASS, рдХрдо, рд╕реНрдЯрд╛рдЗрд▓рд╕ рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдиреЛрдб- sass рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 9 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред


рдЖрдк NPM рдХреЗ рдмрдЬрд╛рдп рдпрд╛рд░реНрди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


Cogear.JS рдкрд░ рдЪрд▓рддрд╛ рд╣реИ:


  • рдореИрдХ
  • рд▓рд┐рдирдХреНрд╕
  • рд╡рд┐рдВрдбреЛрдЬ

рдЖрдк рдЕрдм рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдлреИрд╢рдиреЗрдмрд▓ VSCode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд╕реНрдерд╛рдкрдирд╛


рдмрд┐рдирд╛ рдЪрд╛рд▓ рдХреЗ рд╕рд░рд▓,


 $ npm install cogear -g # or $ yarn global add cogear 

рд╡рд╣ рд╕рдм рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рд╕рдлрд▓ рд░рд╣реАред



Cogear.JS рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдмрд╛рдж cogear рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред


рдЕрдм рдЖрдк рдкрд╣рд▓реА рд╕рд╛рдЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдХреЗ рдЙрдкрдпреЛрдЧ



рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред


 $ cd ~/Sites 

рдирдИ рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдо рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:


 $ cogear new site.io #  "site.io" тАУ      

рдХреНрд░рд╛рдлреНрдЯрд┐рдВрдЧ рд╕рд╛рдЗрдЯ


рдлрд┐рд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВ:


 $ cd ~/Sites/site.io 

development рдореЛрдб рдпрд╛ production рдореЛрдб (рдЙрддреНрдкрд╛рджрди рдХреА рддреИрдпрд╛рд░реА) ( рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ ) рдореЗрдВ Cogear.JS рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред


 $ cogear # -     ┬л ┬╗     $ cogear production #       тАФ        

рд╡рд┐рдХрд▓реНрдк


рдЖрдк --help рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдХрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред


рдорджрдж


рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ


рдпрджрд┐ рд╡рд┐рд╖рдп рд╣реИрдмреНрд░реЛрд╡реНрд╕реНрдХ рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреА рд░реБрдЪрд┐ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗред



PS рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрддред


рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВ, рдЙрддреНрддрд░ рджреЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

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


All Articles