MAM: рджрд░реНрдж рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рд╛рдордиреЗ

рд╣реИрд▓реЛ, рдореЗрд░рд╛ рдирд╛рдо рджрд┐рдорд┐рддреНрд░реА рдХрд╛рд░реНрд▓реЛрд╡реНрд╕реНрдХреА рд╣реИ, рдФрд░ рдореИрдВ ... рдореИрдо рдХреЛ рдорд╛рдирддрд╛ рд╣реВрдВред M AM, Gnostic M moduli рдХреЛ рдирд┐рдпрдорд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рд╢реЗрд░реЛрдВ рдХреА рджрд┐рдирдЪрд░реНрдпрд╛ рдХреА рдмрдЪрдд рд╣реЛрддреА рд╣реИред


рдареЗрда рдЕрдЬреНрдЮреЗрдп рдореЙрдбреНрдпреВрд▓


рдПрдХ рдЕрдЬреНрдЮреЗрдп рдореЙрдбреНрдпреВрд▓ , рдкрд╛рд░рдВрдкрд░рд┐рдХ рдПрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрд░реЛрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: JS / TS рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рддрд░реНрдХ, TS / JS рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг, view.tree рдореЗрдВ view.tree рдШрдЯрдХреЛрдВ рдХреА рд░рдЪрдирд╛, рд╢реИрд▓рд┐рдпреЛрдВ CSS , locale=*.json рдореЗрдВ рд▓реЛрдХреЗрд╢рди locale=*.json , images рдЗрддреНрдпрд╛рджрд┐ред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдЬрдХрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯрд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рдЗрд▓рд╕, рдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTMLред


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


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


рджрд░реНрд╢рди


MAM рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд╣рд╕рд┐рдХ рдкреНрд░рдпреЛрдЧ рд╣реИред рдпрд╣рд╛рдБ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИрдВ:


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


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


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


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


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


рдирд╛рдбрд╝реА рдкрд░ рдЙрдВрдЧрд▓реА рд░рдЦреЗрдВред рдЕрд╕рдВрдЧрддрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб рдХреЛ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реЛрдиреЗ рджреЗрдЧреАред


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


рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд


рд╣рдо рдПрдХ рдЖрдзреБрдирд┐рдХ рдореЙрдбреНрдпреВрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ: рдПрдХ рдореЙрдбреНрдпреВрд▓ 300 рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдХрдо рд▓рдВрдмрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 30 рдЖрдпрд╛рдд рд╣реЛрддреЗ рд╣реИрдВред


рд▓реЗрдХрд┐рди рдпреЗ рдЕрднреА рднреА рдлреВрд▓ рд╣реИрдВ: 9 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП, 8 рдЖрдпрд╛рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред


рдФрд░ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛: рдЙрдкрдпреЛрдЧреА рдХреЛрдб рдХреА рдПрдХ рднреА рдкрдВрдХреНрддрд┐ рдирд╣реАрдВред рдореЙрдбреНрдпреВрд▓ рдХреЗ рдвреЗрд░ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдПрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА 20 рд▓рд╛рдЗрдиреЗрдВ, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЖрдк рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рдмреАрд╕ рд╕реЗ рдирд╣реАрдВред


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


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


рд╡рд┐рдЪрд╛рд░: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрд▓реЗрдХреНрдЯрд░ рд╕реНрд╡рдпрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?


рдЖрдзреБрдирд┐рдХ рдЖрдИрдбреАрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдИрдбреАрдИ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХрд▓реЗрдХреНрдЯрд░ рдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдХреНрдпрд╛ рд░реЛрдХрддрд╛ рд╣реИ? рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдордХрд░рдг рдФрд░ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдореНрдореЗрд▓рди рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдФрд░ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛ред PHP рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдорд╛рдирдХ рд╕рдореНрдореЗрд▓рди рд╣реИ: PSR-4 ред MAM .ts рдФрд░ .jam.js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ: $ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдирд╛рдо рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдХрд╛рдИ рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпреЛрдЧреНрдп рдирд╛рдо рд╣реИрдВ рдЬрд┐рдирдХреЗ рдХреЛрдб рдХреЛ FQN рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкрде рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╕реАрдо рдХреЛ рд╕реНрд▓реИрд╢ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреЛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:


рдореЗрд░реЗ / рд╕рддрд░реНрдХ / рд╕рддрд░реНрдХ


 const $my_alert = alert // FQN    

my / app / app.ts


 $my_alert( 'Hello!' ) // ,   /my/alert/ 

рдПрдХ рд▓рд╛рдЗрди рд╕реЗ рдПрдХ рдкреВрд░рд╛ рдореЙрдбреНрдпреВрд▓ - рдХреНрдпрд╛ рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдкрд░рд┐рдгрд╛рдо рдЖрдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рдирд╣реАрдВ рд╣реИ: рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд╛рджрдЧреА рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд░рддреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рджрд╛рдиреЗ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдФрд░ рдПрдХ рдЪреЗрд░реА рдХреА рддрд░рд╣ - рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреЗрдбрд╝-рдЭрдЯрдХреЛрдВ рдХреЗ рдмрдВрдбрд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдирд╛ред


рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╕рддреНрдпрд╛рдкрди рдореЙрдбреНрдпреВрд▓ рдХреЗ JSON / mol / рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд╛рд░ рд╣реИред рдпрджрд┐ рдЖрдк $mol_data_integer рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореЙрдбреНрдпреВрд▓ /mol/data/integer рдФрд░ /mol/data/number , рдЬрд┐рд╕ рдкрд░ $mol_data_integer рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдХреЛ рдмрдВрдбрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд▓реЗрдХреНрдЯрд░ /mol/data/email рдбрд┐рд╕реНрдХ рд╕реЗ рднреА рдирд╣реАрдВ рдкрдврд╝реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рднреА рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


рдЧрдбрд╝рдмрдбрд╝реА рдХрд░рдирд╛


рдЪреВрдБрдХрд┐ рд╣рдордиреЗ рдХреЛрдгреАрдп рдХреЛ рдорд╛рд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛, рд╣рдо рдирд╣реАрдВ рд░реБрдХреЗрдВрдЧреЗред рдЖрдк applyStyles рд╕рдорд╛рд░реЛрд╣ applyStyles рд▓рд┐рдП рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЖрдкрдиреЗ / /packages/core/src/render3/styling_next/bindings.ts / /packages/core/src/render3/styling_next/bindings.ts / /packages/core/src/render3/styling_next/bindings.ts / /packages/core/src/render3/styling_next/bindings.ts / /packages/core/src/render3/styling_next/bindings.ts / /packages/core/src/render3/styling_next/bindings.ts рдкрд░ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ /packages/core/src/render3/styling_next/bindings.ts ред рдХрд╣реАрдВ рднреА рдХреБрдЫ рднреА рд░рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣рдо рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдирд╣реАрдВред рдФрд░ рдЕрдЧрд░ рдЖрдИрдбреАрдИ рдХреЛ рдЕрдХреНрд╕рд░ "рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреВрдж" рд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЬреАрдердм рдкрд░ рдХреЛрдб рджреЗрдЦрдиреЗ рдпрд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╕реЗ рдЗрд╕ рдЕрд╡рд╕рд░ рд╕реЗ рд╡рдВрдЪрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред


рд╡рд┐рдЪрд╛рд░: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╕рдВрд╕реНрдерд╛ рдХреЗ рдирд╛рдо рдЙрдирдХреЗ рд╕реНрдерд╛рди рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ?


рдлрд╝рд╛рдЗрд▓ рдХреЛ /angular/packages/core/src/render3/stylingNext/bindings.ts рдореЗрдВ рдХреЛрдб /angular/packages/core/src/render3/stylingNext/bindings.ts , MAM рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдЖрдкрдХреЛ рдЗрдХрд╛рдИ рдХрд╛ рдирд╛рдо $angular_packages_core_src_render3_stylingNext_applyStyles , рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреЛрдб рдореЗрдВ рдирд╛рдо рдореИрдВ рдЫреЛрдЯрд╛ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдирд╛рдо рд╕реЗ рд╕рднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛, рдХреЗрд╡рд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЫреЛрдбрд╝рдХрд░: $angular_render3_applyStyles ред рдФрд░ рдпрд╣ /angular/render3/applyStyles/applyStyles.ts рдЕрдиреБрд╕рд╛рд░ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред


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


 73ebc45e517ffcc3dcce53f5b39b6d06fc95cae1 $mol_vector: range expanding support 3a843b2cb77be19688324eeb72bd090d350a6cc3 $mol_data: allowed transformations 24576f087133a18e0c9f31e0d61052265fd8a31a $mol_data_record: support recursion 

рдпрд╛, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ $ mol_fiber рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рднреА рдЙрд▓реНрд▓реЗрдЦреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - FQN рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рдзрдиреНрдпрд╡рд╛рджред


рдЪрдХреНрд░реАрдп рдирд┐рд░реНрднрд░рддрд╛


рдЖрдЗрдП рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕рд░рд▓ рдХреЛрдб рдХреА 7 рдкрдВрдХреНрддрд┐рдпрд╛рдВ рд▓рд┐рдЦреЗрдВ:


 export class Foo { get bar() { return new Bar(); } } export class Bar extends Foo {} console.log(new Foo().bar); 

рдЪрдХреНрд░реАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ 3 рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ:


рдореЗрд░реА / foo.js


 import { Bar } from './bar.js'; export class Foo { get bar() { return new Bar(); } } 

my / bar.js


 import { Foo } from './foo.js'; export class Bar extends Foo {} 

рдореЗрд░реА / app.js


 import { Foo } from './foo.js'; console.log(new Foo().bar); 

рдУрд╣, ReferenceError: Cannot access 'Foo' before initialization ред рдпрд╣ рдХреИрд╕реА рдмрдХрд╡рд╛рд╕ рд╣реИ? рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ app.js рдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ foo.js рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реЗ bar.js рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ foo.js рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ foo.js рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рдореЗрд░реА / app.js


 import './bar.js'; import { Foo } from './foo.js'; console.log(new Foo().bar); 

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


рд╡рд┐рдЪрд╛рд░: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рд╣рдо рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдЧреЛрдВрдж рджреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рднреА рдХреЛрдб рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реЛрдВ?


рдореИрдо рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреЛрдб рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ:


my / foo / foo.ts


 class $my_foo { get bar() { return new $my_bar(); } } 

my / bar / bar.ts


 class $my_bar extends $my_foo {} 

my / app / app.ts


 console.log(new $my_foo().bar); 

рдХреЛрдб рдХреЗ рд╕рднреА рд╕рдорд╛рди 7 рд▓рд╛рдЗрдиреЗрдВ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдереАрдВред рдФрд░ рд╡реЗ рд╕рд┐рд░реНрдл рдЕрддрд┐рд░рд┐рдХреНрдд shamanism рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрд▓реЗрдХреНрдЯрд░ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ my/bar рдкрд░ my/foo my/bar рдХреА рдирд┐рд░реНрднрд░рддрд╛ my/bar рдкрд░ my/foo рдЕрдзрд┐рдХ рдХрдареЛрд░ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрдВрдбрд▓ рдореЗрдВ рдЗрд╕ рдХреНрд░рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: my/foo , my/bar , my/app ред


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


рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ


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


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


 .dark-theme table { background: black; } .light-theme table { background: white; } 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рд╣рдо рд╡рд┐рд╖рдп рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рддреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рджрд┐рди рдХреЗ рд╕рдордп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рд╖рдп рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧреАред рдЕрд░реНрдерд╛рддреН, CSS рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ JS рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред


рд╡рд┐рдЪрд╛рд░: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░рдгрд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рди рд╣реЛ?


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


/my/table/table.css


 /* ,   /my/theme */ [my_theme="dark"] table { background: black; } [my_theme="light"] table { background: white; } 

/my/theme/theme.js


 document.documentElement.setAttribute( 'my_theme' , ( new Date().getHours() + 15 ) % 24 < 12 ? 'light' : 'dark' , ) 

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


рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп


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


рд╡рд┐рдЪрд╛рд░: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддреИрдпрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдмрдВрдбрд▓ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?


рдЖрдЗрдП, $ mol_build MAM рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдбрд░ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрддреЗ рд╣реИрдВ:


 mam mol/build 

рдЕрдм рдЗрд╕ рдХрд▓реЗрдХреНрдЯрд░ рдХреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЙрд╕реЗ рдЦреБрдж рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рджреЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рд╡рд╣ рдЕрднреА рднреА рдЦреБрдж рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ:


 node mol/build/-/node.js mol/build 

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирд╣реАрдВ, рдЪрд▓реЛ рдЙрд╕реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ:


 node mol/build/-/node.test.js mol/build 

рдФрд░ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд░рд╣рд╛, рддреЛ рдПрдирдкреАрдПрдо рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ:


 npm publish mol/build/- 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╕рдордп, рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ - рдФрд░ рд╕рднреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВ рдЬреЛ рдЖрдк рд╡рд╣рд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:


  • web.dep.json - рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА
  • web.js - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдВрдбрд▓
  • web.js.map - рдЙрд╕рдХреЗ рд▓рд┐рдП sorsmaps
  • web.esm.js - рдпрд╣ рдПрдХ рдИрдПрд╕-рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ
  • web.esm.js.map - рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП sorsmaps
  • web.test.js - рдкрд░реАрдХреНрд╖рдг рдмрдВрдбрд▓
  • web.test.js.map - рдФрд░ рд╕реЙрд░реНрд╕рдореИрдк рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП
  • web.d.ts - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдВрдбрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓
  • web.css - рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓
  • web.css.map - рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо
  • web.test.html - рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ
  • web.view.tree - рдмрдВрдбрд▓ web.view.tree рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреА рдШреЛрд╖рдгрд╛
  • web.locale=*.json - рд╕реНрдерд╛рдиреАрдп рдкрд╛рдареЛрдВ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓, рдкреНрд░рддреНрдпреЗрдХ рдмрдВрдбрд▓ рдХрд╛ рдЕрдкрдирд╛ рдмрдВрдбрд▓ рд╣реЛрддрд╛ рд╣реИ
  • package.json - рдЖрдкрдХреЛ NPM рдореЗрдВ рдЗрдХрдЯреНрдареЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рддреБрд░рдВрдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
  • node.dep.json - рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА
  • node.js - рдиреЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдмрдВрдбрд▓
  • node.js.map - рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реЙрд░реНрд╕рдореИрдк
  • node.esm.js - рдпрд╣ рдПрдХ рдИрдПрд╕-рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ
  • node.esm.js.map - рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реЙрд░реНрд╕рдореИрдк
  • node.test.js - рдПрдХ рд╣реА рдмрдВрдбрд▓, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА
  • node.test.js.map - рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реЙрд░реНрд╕рдореИрдк
  • node.d.ts - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдВрдбрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓
  • node.view.tree - рдмрдВрдбрд▓ node.view.tree рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреА рдШреЛрд╖рдгрд╛рдПрдВ
  • node.locale=*.json - рд╕реНрдерд╛рдиреАрдп рдЧреНрд░рдВрдереЛрдВ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓, рдкреНрд░рддреНрдпреЗрдХ рдмрдВрдбрд▓ рдХрд╛ рдЕрдкрдирд╛ рдмрдВрдбрд▓ рд╣реЛрддрд╛ рд╣реИ

рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЛ рдХреЗрд╡рд▓ рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдВ рдЬреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ ред рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдпрд╣рд╛рдВ рд╣реИрдВ:


  • /mol/app/quine/quine.view.tree
  • /mol/app/quine/quine.view.ts
  • /mol/app/quine/index.html
  • /mol/app/quine/quine.locale=ru.json

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд▓реЗрдХреНрдЯрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддрд╛ рдХрд┐ рд╣рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓ рдкрд╛рд╕ рдореЗрдВ рд░рдЦрдХрд░ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ:


/mol/app/quine/quine.meta.tree


 deploy \/mol/app/quine/quine.view.tree deploy \/mol/app/quine/quine.view.ts deploy \/mol/app/quine/index.html deploy \/mol/app/quine/quine.locale=ru.json 

рдЕрд╕реЗрдВрдмрд▓реА /mol/app/quine , рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:


  • /mol/app/quine/-/mol/app/quine/quine.view.tree
  • /mol/app/quine/-/mol/app/quine/quine.view.ts
  • /mol/app/quine/-/mol/app/quine/index.html
  • /mol/app/quine/-/mol/app/quine/quine.locale=ru.json

рдЕрдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /mol/app/quine/- рдХреЛ рдХрд┐рд╕реА рднреА рд╕реНрдереИрддрд┐рдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрд╡реЗрджрди рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реЛрдЧрд╛ред


рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВ


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


рд╡рд┐рдЪрд╛рд░: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕рдХреЗ рдирд╛рдо рд╕реЗ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ?


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


  • / mol / state / arg / argред рд╡реЗрдм .ts - рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  • / mol / state / arg / argред рдиреЛрдб .ts - рдПрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдЗрди рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╕реНрд░реЛрдд рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВред


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


  • / mol / state / arg / argред рдкрд░реАрдХреНрд╖рдг .ts - рдореЙрдбреНрдпреВрд▓ рдкрд░реАрдХреНрд╖рдг, рд╡реЗ рдкрд░реАрдХреНрд╖рдг рдмрдВрдбрд▓ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПрдВрдЧреЗ

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


  • / mol / app / рдЬреАрд╡рди / рдЬреАрд╡рдиред locale = ru .json - рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рдВрде
  • / mol / app / рдЬреАрд╡рди / рдЬреАрд╡рдиред locale = jp .json - рдЬрд╛рдкрд╛рдиреА рдХреЗ рд▓рд┐рдП рдЧреНрд░рдВрде

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


  • / hyoo / рдЦрд┐рд▓реМрдиреЗ / ред git - рдПрдХ рдЕрд╡рдзрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд▓реЗрдХреНрдЯрд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдЧрд╛

рд╡рд░реНрдЬрд╝рдирд┐рдВрдЧ


Google рдиреЗ рдкрд╣рд▓реЗ AngularJS рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ NPM рдореЗрдВ angular рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред рдлрд┐рд░ рдЙрд╕рдиреЗ рдПрдХ рд╕рдорд╛рди рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рдврд╛рдВрдЪрд╛ рдмрдирд╛рдпрд╛ - рдХреЛрдгреАрдп рдФрд░ рдЗрд╕реЗ рдЙрд╕реА рдирд╛рдо рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕реНрдХрд░рдг 2. рдЕрдм рдпреЗ рджреЛ рдЖрддрд┐рд╢рдмрд╛рдЬреА рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗрд╡рд▓ рдПрдХ рдПрдкреАрдЖрдИ-рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред рдФрд░ рджреВрд╕рд░рд╛ - рдирд╛рдмрд╛рд▓рд┐рдЧ рдХреЗ рдмреАрдЪ ред рдФрд░ рдЪреВрдВрдХрд┐ рдПрдХ рд╣реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕реНрддрд░ рдкрд░ рд░рдЦрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрд╡реЗрджрди рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рд╣рдЬ рд╕рдВрдХреНрд░рдордг рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред


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


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


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


рдХреБрдЫ рддрд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CI рд╕рд░реНрд╡рд░ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдХреНрдпрд╛ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ рдЗрдХрдЯреНрдард╛ред рд▓реЗрдХрд┐рди рд░реБрдХрд┐рдП, рдбреЗрд╡рд▓рдкрд░ рдЦреБрдж рд╣реА рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред , , , . Continuous Integration , , , , - . CI , .


, , . , Angular@4 ( 3). , , " " " ". Angular@4 , Angular@5. Angular@6, . Angular TypeScript . . , 2 , тАж , business value , , , , .


, , , , 2 . : , тАФ , тАФ . 3 React, 5 jQuery, 7 lodash.


: тАФ ?


. - . , . , . , . , . , . , , . : issue, , workaround, pull request, , . , , . . .


, . , , . . . : , , -. - тАФ . , , - . , , , NPM . , . .


, ? тАФ . mobx , mobx2 API . тАФ , : , . mobx mobx2 , API. API, .


. тАФ . , :


 var pages_count = $mol_atom2_sync( ()=> $lib_pdfjs.getDocument( uri ).promise ).document().numPages 

mol_atom2_sync lib_pdfjs , :


 npm install mol_atom2_sync@2.1 lib_pdfjs@5.6 

, , тАФ , . ? тАФ , *.meta.tree , :


/.meta.tree


 pack node git \https://github.com/nin-jin/pms-node.git pack mol git \https://github.com/eigenmethod/mol.git pack lib git \https://github.com/eigenmethod/mam-lib.git 

. .


NPM


MAM тАФ NPM . , тАФ . , , NPM .


NPM , $node. , - -:


/my/app/app.ts


 $node.portastic.find({ min : 8080 , max : 8100 , retrieve : 1 }).then( ( ports : number[] ) => { $node.express().listen( ports[0] ) }) 

, . - lib NPM . , NPM- pdfjs-dist :


/lib/pdfjs/pdfjs.ts


 namespace $ { export let $lib_pdfjs : typeof import( 'pdfjs-dist' ) = require( 'pdfjs-dist/build/pdf.min.js' ) $lib_pdfjs.disableRange = true $lib_pdfjs.GlobalWorkerOptions.workerSrc = '-/node_modules/pdfjs-dist/build/pdf.worker.min.js' } 

/lib/pdfjs/pdfjs.meta.tree


 deploy \/node_modules/pdfjs-dist/build/pdf.worker.min.js 

, .



. create-react-app angular-cli , . , , eject . . , , .


: ?


MAM . .


MAM MAM , :


 git clone https://github.com/eigenmethod/mam.git ./mam && cd mam npm install npm start 

8080 . , тАФ MAM.


( тАФ acme ) ( тАФ hello home ):


/acme/acme.meta.tree


 pack hello git \https://github.com/acme/hello.git pack home git \https://github.com/acme/home.git 

npm start :


 npm start acme/hello acme/home 

. тАФ . , , . тАФ : https://t.me/mam_mol

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


All Articles