Upng.js: рдХреГрдкрдпрд╛ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдорд╛рд░реНрдЪ 2017  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: photopea/UPNG.js

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

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

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

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

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬреЛ рдЪреАрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рд╡рд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЖрдк рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХреНрдорд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ, рдЯрд╛рдЗрдк рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдФрд░ рдХрдВрдкрд╛рдЗрд▓-рдЯрд╛рдЗрдо рдЯрд╛рдЗрдк-рдЪреЗрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рддреЛ ES5 рдпрд╛ ES6, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрд╛рдмреЗрд▓ рдХрд╛ рдкреНрд░рдпреЛрдЧ рди рдХрд░реЗрдВ)ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рднреА рдЗрд╕рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ VSCode рдЬреИрд╕реЗ рдЖрдзреБрдирд┐рдХ рд╕рдВрдкрд╛рджрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯрд╛рдЗрдк рд╕рдВрдХреЗрдд рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред

рдЕрд▓рдЧ рд╡рд┐рд╖рдп рдкрд░реАрдХреНрд╖рдг рд╕рдВрдЪрд╛рд▓рд┐рдд рд╡рд┐рдХрд╛рд╕ рд╣реИред рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд▓рд┐рдЦрд╛, рдЬреЛ рдЕрдм рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдореЛрдЪрд╛ , рдЬреИрд╕реНрдореАрди рдпрд╛ рдЕрд╡рд╛ рдЬреИрд╕реЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдзрд╛рд╡рдХреЛрдВ рдХреЛ рдПрдХ рдЕрднрд┐рдХрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪреБрдирдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ: Chai , PowerAssert рдпрд╛ рд╢рд╛рдпрдж рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд assert рдлрд╝рдВрдХреНрд╢рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк BrowserStack рдпрд╛ SauceLabs рдкрд░ Karma рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪрд▓рд╛рдПрдВрдЧреЗ , рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЖрдк рд╕рднреА рдХрд┐ transpilation рдХреЗ рд▓рд┐рдП рд╕рддрдд рдПрдХреАрдХрд░рдг рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕рд╛рдорд╛рди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд▓реНрдкрдирд╛ рдмреИрдЬ рдЕрдкрдиреЗ GitHub рднрдВрдбрд╛рд░ рдпрд╛ рдореЗрдВ README рдХреЗ рд▓рд┐рдП GitHub рдкреЗрдЬ ред

рдпрд╣ рдХреЗрд╡рд▓ рд╣рд┐рдорд╢реИрд▓ рдХрд╛ рдПрдХ рд╕рд┐рд░рд╛ рд╣реИред рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ AD 2017 рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдкреА.рдПрд╕.
рдЖрдк рдЗрд╕ рд╕рдм рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╕ рдХрдорд╛рд▓ рдХрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрднреА рддрдХ рдХрд░ рд░рд╣реЗ рдереЗ!

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдПрдирдкреАрдПрдо рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ UPNG.js рдХреЛ "npm" рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред рдЬрдм рдореИрдВ рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдЧрд┐рдЯрд╣рдм рдФрд░ рдПрдирдкреАрдПрдо рджреЛрдиреЛрдВ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдПрдирдкреАрдПрдо рдХрд┐рд╕реА рддрд░рд╣ рдЧрд┐рдЯрд╣рдм рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдирдорд╕реНрдХрд╛рд░! рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдк рдиреЛрдбрдЬреЗрдПрд╕/рдПрдирдкреАрдПрдо рд╕реЗ рдЕрдирдЬрд╛рди рдереЗред рдПрдирдкреАрдПрдо рдкреГрдереНрд╡реА рдкрд░ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдкреИрдХреЗрдЬ/рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рд╕рдорд╛рдзрд╛рди рд╣реИред рдХреЛрдб рдЕрднреА рднреА рдЬреАрдердм рдкрд░ рд░рд╣рддрд╛ рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рддрдм рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЕрдзрд┐рдХ рдЖрд░рд╛рдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддреЗ рд╣реИрдВред
рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ: рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ( npm install upng )
рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП require('upng') рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧред рд╕рд╛рде рд╣реА, рдЖрдк рдЗрд╕рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ ( window.upng )) рдХреЛ рдХреВрдбрд╝рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ рдпрд╣ рдХреЛрдб echojs.com рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдЖрдк NodeJS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред

рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ NPM рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдкрдХреЛ NPM рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдпрд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://docs.npmjs.com/cli/publish

рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдорд╛рдореВрд▓реА рд╣реИред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ: https://docs.npmjs.com/cli/init

рдХреНрдпрд╛ рдЙрдирдХреЗ рдкрд╛рд╕ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ? рдореИрдВ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрд┐рдЯрд╣рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдкрд╛рдЧрд▓ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╕рд░реНрд╡рд░ рдкрд░ 12 kB рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

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

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

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

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬреЛ рдЪреАрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рд╡рд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЖрдк рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХреНрдорд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ, рдЯрд╛рдЗрдк рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдФрд░ рдХрдВрдкрд╛рдЗрд▓-рдЯрд╛рдЗрдо рдЯрд╛рдЗрдк-рдЪреЗрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рддреЛ ES5 рдпрд╛ ES6, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрд╛рдмреЗрд▓ рдХрд╛ рдкреНрд░рдпреЛрдЧ рди рдХрд░реЗрдВ)ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рднреА рдЗрд╕рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ VSCode рдЬреИрд╕реЗ рдЖрдзреБрдирд┐рдХ рд╕рдВрдкрд╛рджрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯрд╛рдЗрдк рд╕рдВрдХреЗрдд рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред

рдЕрд▓рдЧ рд╡рд┐рд╖рдп рдкрд░реАрдХреНрд╖рдг рд╕рдВрдЪрд╛рд▓рд┐рдд рд╡рд┐рдХрд╛рд╕ рд╣реИред рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд▓рд┐рдЦрд╛, рдЬреЛ рдЕрдм рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдореЛрдЪрд╛ , рдЬреИрд╕реНрдореАрди рдпрд╛ рдЕрд╡рд╛ рдЬреИрд╕реЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдзрд╛рд╡рдХреЛрдВ рдХреЛ рдПрдХ рдЕрднрд┐рдХрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪреБрдирдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ: Chai , PowerAssert рдпрд╛ рд╢рд╛рдпрдж рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд assert рдлрд╝рдВрдХреНрд╢рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк BrowserStack рдпрд╛ SauceLabs рдкрд░ Karma рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪрд▓рд╛рдПрдВрдЧреЗ , рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЖрдк рд╕рднреА рдХрд┐ transpilation рдХреЗ рд▓рд┐рдП рд╕рддрдд рдПрдХреАрдХрд░рдг рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕рд╛рдорд╛рди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд▓реНрдкрдирд╛ рдмреИрдЬ рдЕрдкрдиреЗ GitHub рднрдВрдбрд╛рд░ рдпрд╛ рдореЗрдВ README рдХреЗ рд▓рд┐рдП GitHub рдкреЗрдЬ ред

рдпрд╣ рдХреЗрд╡рд▓ рд╣рд┐рдорд╢реИрд▓ рдХрд╛ рдПрдХ рд╕рд┐рд░рд╛ рд╣реИред рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ AD 2017 рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдкреА.рдПрд╕.
рдЖрдк рдЗрд╕ рд╕рдм рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╕ рдХрдорд╛рд▓ рдХрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрднреА рддрдХ рдХрд░ рд░рд╣реЗ рдереЗ!

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

рдкреАрдПрд╕ рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ, "рдорд╛рдирдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░реНрдпрд╛рд╡рд░рдг" рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдиреЛрдб.рдЬреЗрдПрд╕ (рдЬреЛ рд╣рдЬрд╛рд░реЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рд╣реИ) рдХреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдЬреЛ рдЕрд░рдмреЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рд╣реИ)ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕