рдЕрдкрдиреЗ рдЖрдИрдиреЗ рдореЗрдВ рдХреБрд╕рдВрдЧреЛ рдХреЗ рдкреНрд░рд╕рдВрдЧ рдФрд░ рдШрдЯрдирд╛рдПрдБ

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

рд╕реНрдорд╛рд░реНрдЯ рджрд░реНрдкрдг рдХреНрдпрд╛ рд╣реИ?


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

рдореИрдЬрд┐рдХрдорд┐рд░рд░ рдореЗрдВ рдЬрд╛рджреВ рдХреЗрд╡рд▓ рдирд╛рдо рдореЗрдВ рд╣реИред рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭреВрдВ, рддреЛ рдпрд╣ рд╕рдм рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ Node.js. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдПрдХ html рдкреГрд╖реНрда рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреБрд▓рддрд╛ рд╣реИ, рдФрд░ рддрдерд╛рдХрдерд┐рдд рдореЙрдбреНрдпреВрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рджреЛрдиреЛрдВ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд (рдШрдбрд╝реА, рдХреИрд▓реЗрдВрдбрд░, рд╡рд░реНрддрдорд╛рди рдореМрд╕рдо, рдореМрд╕рдо рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди, рд╕рдорд╛рдЪрд╛рд░ рдлрд╝реАрдб), рдФрд░ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ ред рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реЛрдЪрдХ (рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧреА рдФрд░ рдЬрд┐рджреНрджреА рдЕрд╕рд╛рдорд╛рдиреНрдп) рд╣реИрдВ, рдпрд╣рд╛рдВ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдореЙрдбреНрдпреВрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реА рд╣реИрдВ:

рдЙрдкрдпреЛрдЧреА



рдЕрд╕рд╛рдорд╛рдиреНрдп



рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


рдореИрдВрдиреЗ рдЕрдкрдиреЗ рджрд░реНрдкрдг рдХреЛ рдХреИрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ред рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ рддреЛ рдЖрдк рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ ред рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг Google рдЦреЛрдЬ рджрд░реНрдЬрдиреЛрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ \ _ \ _ рдореИрдиреБрдЕрд▓ рд▓реМрдЯрд╛рдПрдЧреАред рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рджрд░реНрдкрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

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

рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕


рдпрджрд┐ рдХреЛрдИ рддреБрд░рдВрдд рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдпрд╛ "рджрд░реНрдкрдг" рдкрд░ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ ред рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢ рднреА рд╣реИред

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

рд╣рдорд╛рд░реЗ рд╡рд┐рдХрд╕рд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЛ рдореЙрдбреНрдпреВрд▓ / рдореЛрдбреНрдпреВрд▓рдирд╛рдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдореЗрд░реА рддрд░рд╣) рд╣рдореЗрдВ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • modulename / modulename.js рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред
  • modulename / node_helper.js "рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рд╣рд╛рдпрдХ" рд╣реИ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдПрдХреАрдХреГрдд рд╕реЙрдХреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╣рд╛рдпрдХ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдЬрд┐рдХрдорд┐рд░рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдПрдХ рдЧрд╛рдЗрдб рдХреЗ рд╕рд╛рде рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ XMLHttpRequest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдбрдЧреЛ рдПрдкреАрдЖрдИ рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдкрд▓реЛрдб рдХреАред рдФрд░ рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореИрдВ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реВрдБ (рдФрд░ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рднреА рдирд╣реАрдВ)ред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рдХрд┐ "рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛" рдФрд░ рдХреБрдбрд╛рдЧреЛ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдореИрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╕реАрдЦ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореБрдЭреЗ рд╕рдордЭрд╛рдпрд╛

рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдз рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рджреБрд╖реНрдЯ рд╣реИрдХрд░реЛрдВ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╡рд┐рдЬрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рд╣реИред

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

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

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ node_helper.js рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ! рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЕрдЬрдЧрд░-рд╢реЗрд▓ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╕ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдорд╛рд░реНрдЧ, рддрд░реНрдХ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпред рдЗрд╕ рд░реВрдк рдореЗрдВ, рдХреБрджрд╛рдЧреЛ рдиреЗ рдореБрдЭреЗ рдПрдХ рд╕рдлрд▓ рдЙрддреНрддрд░ рджрд┐рдпрд╛ред

рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ рдХреЙрд▓ рдХреЛрдб
kudagoGetData: function () { //call python script for collecting events from KudaGo api self = this; var options = { pythonPath: this.config.pythonPath, scriptPath: './modules/MMM-KudaGo', mode: 'json', args: [ "--location", this.config.location, "--days", this.config.days, "--categories", this.config.categories, "--tags", this.config.tags, ] }; pyshell.PythonShell.run('KudaGo.py', options, function (err) { if (err) throw err; }); } 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЗрд╡рд▓ node_helper.js json рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдлрд╝рд╛рдЗрд▓ kudago рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкрде kudago / event.json рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдЧреА)ред рд╣рдо рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЙрд╕реА рд░реАрдбрд┐рдВрдЧ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб
 readData: function () { //read a file with events fs.readFile("./modules/MMM-KudaGo/kudago/events.json", "utf8", (err, data) => { if (err) throw err; this.sendSocketNotification("DATA", data); }); } 


рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рд╣реИ, рдореИрдЬрд┐рдХрдорд┐рд░рд░ рдореЗрдВ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рд╕реЙрдХреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ рдХреЗ рд▓рд┐рдП, node_helper.js рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдореЙрдбреНрдпреВрд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб
 socketNotificationReceived: function (notification, payload) { if (notification === "START") { this.config = payload; this.kudagoGetData(); setInterval(() => { this.kudagoGetData(); }, this.config.updateInterval); } } 


рдЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ .config рдпрд╛ рддреЛ рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЪрд░ рд╣реИрдВ, рдпрд╛ рдЬреЛ config.js рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ - рд╕рднреА MagicMirror рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕
 { module: 'MMM-KudaGo', disabled: false, position: 'bottom_bar', config: { location: "spb", categories: "concert", tags: "  --,", days: 7 } } 


рдЦреИрд░, рд╣рдорд╛рд░реЗ MMM-KudaGo.js рдореЙрдбреНрдпреВрд▓ рдХреА рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рдЗрд╡реЗрдВрдЯ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп (рдПрдХ рдЬрд╕рди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛), рдПрдХ рдкреНрд▓реЗрдЯ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд (рдЬрд┐рд╕рдореЗрдВ рд╕реЗ, рд╢рд╛рдпрдж, рдЬреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдВрдЦреЛрдВ рд╕реЗ рдЦреВрди рдмрд╣реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЯреИрдВрдХ рдореЗрдВ рд╣реВрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЪреАрдЬ рд╣реИ) рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛)ред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, .js рдлрд╛рдЗрд▓реЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЕрддрд┐рднрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ (рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд), рдиреЗрд╕реНрдЯреЗрдб (рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ?) рдлрд╝рдВрдХреНрд╢рдВрд╕, рд▓реВрдк рдФрд░ рдЕрдиреНрдп рдирдереБрдиреЗред

рдкрд░рд┐рдгрд╛рдо


рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ
рдЫрд╡рд┐

рджрд░реНрдкрдг рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ
рдЫрд╡рд┐

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

рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдХрдИ рдмрд╛рд░ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдРрдкреНрдкрд▓ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЯреИрдЧ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рдВрдЧреАрдд рдпрд╛ рдерд┐рдПрдЯрд░ рдкреНрд░рджрд░реНрд╢рди рди рджрд┐рдЦрд╛рдП, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рд╢рд╣рд░ рдореЗрдВ рдпреЛрдЧ рдкрд╛рдареНрдпрдХреНрд░рдо рдпрд╛ рдореБрдлреНрдд рдЙрддреНрд╕рд╡ред рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реА рдЬрд╝рд░реВрд░рддреЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ!

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

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


All Articles