рдЙрд▓реНрдХрд╛ - рдорд╛рдирд╡рд┐рдХреА рдХреЗ рд▓рд┐рдП Node.js

рдкрд░рд┐рдЪрдп


рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдкрд░ рдХрдИ рдмрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд▓реНрдХрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╕реИрди рдлреНрд░рд╛рдВрд╕рд┐рд╕реНрдХреЛ рдХреЗ рд╕рд╛рдд рд╡реЗрдм рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдЙрддреНрд╕рд╛рд╣реА рджреНрд╡рд╛рд░рд╛ 2011 рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрд▓реНрдХрд╛ рд╕рд┐рд░реНрдл рдиреЛрдб рдкрд░ рдПрдХ рдРрдб-рдСрди рд╣реИ, рдЬреЛ рдХрд┐ рд╕реНрд╡рдпрдВ рднреА рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛рдпрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдЬреАрдердм рдкрд░ рд╕рд╛рдд рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдФрд░ 11 рдорд┐рд▓рд┐рдпрди рдбреЙрд▓рд░ рдХрд╛ рдирд┐рд╡реЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред
рдЗрддрдирд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреНрдпреЛрдВ? рдпрд╣ рдмрд╛рдд рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдмрдпрд╛рди рдореЗрдВ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдзреБрдирд┐рдХ рд╡реЗрдм-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╢реБрджреНрдз рдиреЛрдб.рдЬреЗрдПрд╕ рдкрд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдорд╕реНрддрд┐рд╖реНрдХ рдХрд╛рдлреА рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдмреИрд╕рд╛рдЦрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЫрд╡рд┐ рдирд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд░реВрдк рдореЗрдВред рдЙрд▓реНрдХрд╛ рдкрд░, рд▓реЗрдЦрдХ рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдорд╛рдирд╡рддрд╛ рднреА рд╢рд╛рдВрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреА рд╣реИред
рдЕрдЪреНрдЫрд╛, рдЪрд▓реЛ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣рд╛рдБ рд╣реИ: 1 рдорд╛рдирд╡рд┐рдХреА рд╕рдорд╛рдЬрд╢рд╛рд╕реНрддреНрд░реА рдЬрд┐рд╕рдиреЗ рд╕рддреНрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдкрд╛рд░реНрд╕рдиреНрд╕ рдФрд░ рд╕рд┐рдореЗрд▓ рдХреЗ рдмрд╛рдж рдХреБрдЫ рдЖрд╕рд╛рди рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЙрдмрдВрдЯреВ 12.10 рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ред (рдпрд╣ рдордд рдкреВрдЫрд┐рдП рдХрд┐ рд╡рд╣ рдХреИрд╕реЗ рд╕рдорд╛рдЬрд╢рд╛рд╕реНрддреНрд░реА рдирд┐рдХрд▓рд╛)ред

рд╣рдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╡рд╛рджреЛрдВ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдВрдЧреЗ, рдЯреАрдо рдХреА рдПрдХ рд╕реБрдВрджрд░ рд▓рдбрд╝рдХреА-рд╕рджрд╕реНрдп рдФрд░ рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

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


рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИ - рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
$ curl https://install.meteor.com | sh 

рдкрд╣рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ


рдкрд╣рд▓рд╛ рдЖрд╡реЗрджрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд▓рд┐рдЦреЗрдВ
 $ meteor create <_> 

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЙрд▓реНрдХрд╛ рд╢рдмреНрдж рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛
 $ cd <_> $ meteor 

рд╣рдо http: // localhost: 3000 / рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ
рд╣рд╛рдВ, рд▓реЛрдЧ рдЭреВрда рдирд╣реАрдВ рдмреЛрд▓рддреЗ рд╣реИрдВ, рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдиреЗ рднреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рд╣реИред

рд╕рд░рд▓ рдмреНрд▓реЙрдЧ


рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдХреБрдЫ рдордЬреЗрджрд╛рд░ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░рд▓ рдмреНрд▓реЙрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
Disclaimer: - meteor ( node.js) .

рд╕рдВрд░рдЪрдирд╛


рдЙрд▓реНрдХрд╛ "рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдПрдХ рдХреЛрдб" рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЛ рдорд╛рдирддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рднреА .js рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдХреЛрдб (рдЗрд╕реА рд╕реНрдорд╛рд░реНрдЯ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп .cfi рднреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ), server , client рдФрд░ public рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдиреЛрдб .js (рдлрд╛рдЗрдмрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВред
рд╕рд░реНрд╡рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдХреЛрдб рдХреЗрд╡рд▓ client рдкрд░, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ - client рдкрд░ рдФрд░ public рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдорд╛рд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рдЪрд░ Meteor.isClient рдФрд░ Meteor.isServer , рдЬреЛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВред
рд╡рд╣реА .css рдФрд░ .html рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ - рд╡реЗ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд▓реНрдХрд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрд▓реНрдХрд╛ рдХрдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдРрд╕рд╛ рд╣реМрдЬрдкреЗрдЬ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╢реБрджреНрдз рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИред jQuery рдФрд░ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдпрд╣рд╛рдВ рд╢реЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореВрдВрдЫреЛрдВ рдХрд╛ рдПрдХ рдЙрдиреНрдирдд рд╕рдВрд╕реНрдХрд░рдг, рд╣реИрдВрдбрд▓рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MongoDB рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ (рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдорд┐рдирд┐рдореЛрдВрдЧреЛ ( рдорд┐рдирд┐рдореЛрдВрдЧреЛ рдбреЙрдЯ рдХреЙрдо рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдЗрд╕ рдЖрд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕реБрдЦрдж рдХрд╛рдо рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЛ рд╕реАрдПрд╕рдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдореБрдЭреЗ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЯреНрд╡рд┐рдЯрд░ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╕реЗ рдмреЗрд╣рддрд░ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рд╛рдж рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИред

рдЖрдЙрдЯрдкреБрдЯ рд░рд┐рдХреЙрд░реНрдб


рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред .Js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░, рдПрдХ рдирдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
 Posts = new Meteor.Collection("posts"); 

рд╣рдордиреЗ рд╢реБрд░реБрдЖрддреА рдореВрд▓реНрдп рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рд╣реИрдВ:
  Meteor.startup(function () { //       if (Posts.find().count() === 0) { var posts = [ { title: "Title one", text: "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et iure porro sunt repudiandae amet saepe asperiores commodi repellendus hic accusamus obcaecati ipsum modi magnam nulla magni vitae ea voluptates dignissimos!", published: (new Date()).toLocaleTimeString() }, { title: "Title two", text: "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa natus mollitia similique accusamus minus harum magnam eum pariatur rerum fugit ducimus sapiente asperiores quidem molestias repudiandae consequuntur repellendus dolorum placeat.", published: (new Date()).toLocaleTimeString() } ]; for (var i = 0; i < posts.length; i++) { Posts.insert({ title: posts[i].title, text: posts[i].text, published: posts[i].published, }); } } }); 

рдлрд┐рд░ рдПрдХ рд╣реИрдВрдбрд▓рдмрд╛рд░ рд░рд┐рдХреЙрд░реНрдб рдбрд┐рд╕реНрдкреНрд▓реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕реЗ рд╕реНрдЯреНрд░реАрдо рдХрд╣реЗрдВ:
 <head> <title>Blog</title> </head> <body> <div class="row"> <div class="twelve columns"> {{> stream}} </div> </div> </body> <template name="stream"> {{#each posts}} {{> post}} {{/each}} </template> <template name="post"> <div class="panel"> <h2>{{title}}</h2> <p>{{{text}}}</p> <!--    ,  HTML     --> {{published}} </div> </template> 

... рдФрд░ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  Template.stream.posts = function () { return Posts.find({}, {sort: {published: -1}}); }; 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рд▓реЗ рдЖрдПред

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдирд┐рдХрд╛рд▓рдирд╛


рдЕрдкрдиреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдлрд╝реЙрд░реНрдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╕рдВрдкрд╛рджрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдПрдБ:
 <template name="editor"> <h1> </h1> <label> <br> <input type="text" id="title-area" placeholder=""> </label> <label> <br> <textarea type="text" id="editor-area" placeholder=""></textarea> </label> <button id="submit-post" class="button radius"></button> </template> 

рдЕрдЧрд▓рд╛ рдХрджрдо рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдирд╛ рд╣реИ, рдЬрдм рдЖрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рддреБрд░рдВрдд рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдИ рдЬрд╛рдПрдЧреАред
  Template.editor.events({ "click #submit-post": function() { var published_date = new Date(); Posts.insert({ title: document.getElementById("title-area").value, text: document.getElementById("editor-area").value, published: published_date.toLocaleTimeString() }) } }); 

рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдирдпрд╛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рднреА рдмрдирд╛рддреЗ рд╣реИрдВ:
  Template.post.events({ "click .remove": function () { Posts.remove(this._id); } }); 

... рдЬреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЯрди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛ред
 <template name="post"> <div class="panel"> <h2>{{title}}</h2> <p>{{{text}}}</p> <span class="remove alert radius small button"></span> {{published}} </div> </template> 


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

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


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


All Articles