рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдкрд░рд┐рдЪрдп

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

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

рдПрдХ рдЙрджрд╛рд╣рд░рдг - рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЬрдЧрд╣ рдХрд╛ рд╕рд╣реА рдирд┐рд░реНрдзрд╛рд░рдг

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

рдЫрд╡рд┐

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ


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

рдЪрд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓рд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рд▓рдЪрд╕реНрдк рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдЕрдкрдиреЗ рдЕрдиреБрдХреВрд▓рд┐рдд Google Chrome рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде dev.fontdragr.com рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдкреГрд╖реНрда рдкрд░ рдореМрдЬреВрдж рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдореИрдкрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рднреА рдзрдиреНрдпрд╡рд╛рдж рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреГрд╖реНрда рдкрд░ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рд╣реИред рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ, рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдФрд░ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдХреЛрдб рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдирддреАрдЬрддрди, рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрд╛рджрди рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг - fontdragr.com рдкрд░ рдХрдВрд╕реЛрд▓ рджреЗрдЦреЗрдВ

рд╣рдореЗрдВ рд╕реЛрд░реНрд╕ рдореИрдкреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


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

рдЙрд╕ рдХреЙрдлреА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХрдВрд╕реЛрд▓ рдХреЗ рдПрдХ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдмрд┐рд▓реНрдб рдореЗрдВ CoffeeScript рдбреАрдмрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ (GWT) рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ GWT рд╕реЗ рд╕реЛрд░реНрд╕ рдореИрдкреНрд╕ рдФрд░ рд░реЗ рдХреНрд░реЙрдорд╡реЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реЛрд░реНрд╕ рдореИрдк рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


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

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рдХрдВрдкрд╛рдЗрд▓рд░ / рдорд┐рдиреАрдлрд╝рд┐рдХреНрд╕рд░ рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ (рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдореИрдкрд░ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрд╣ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдореИрдкрд░ рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред рдЬрдмрдХрд┐ рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ Google рдХреНрд░реЛрдо рдХреИрдирд░реА рдбреЗ рдЯреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдлрд╛рдЗрд▓ рдореИрдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЙрд╕ рдлрд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ:
//@ sourceMappingURL=/path/to/file.js.map 

рдРрд╕реА рдЯрд┐рдкреНрдкрдгреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдореИрдкрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдЬреАрдм рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢реАрд░реНрд╖рдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
 X-SourceMap: /path/to/file.js.map 

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

рдлрд╝рд╛рдЗрд▓-рдореИрдкрд░ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ?


рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ, рдЪрдордХрд╛рдиреЗ рдФрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
 java -jar compiler.jar \ --js script.js \ --create_source_map ./script-min.js.map \ --source_map_format=V3 \ --js_output_file script-min.js 

рдЖрдкрдХреЛ рдЬреЛ рдЭрдВрдбреЗ --create_source_map рд╡реЗ --create_source_map рдФрд░ --source_map_format ред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, mapper V2 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ V3 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдг


рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдлрд╝рд╛рдЗрд▓-рдореИрдкрд░ рд▓реЗрдВ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдХрд┐ "рдПрдбреНрд░реЗрд╕рд┐рдВрдЧ" рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ V3 рдХрд▓реНрдкрдирд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдЙрджрд╛рд╣рд░рдг рд╣реИ:
 { version : 3, file: "out.js", sourceRoot : "", sources: ["foo.js", "bar.js"], names: ["src", "maps", "are", "fun"], mappings: "AAgBC,SAAQ,CAAEA" } 


рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИрдВ:


BASE64 VLQ рдпрд╛ рд╕реЛрд░реНрд╕ рдореИрдк рдХреЛ рдЫреЛрдЯрд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдЖрдЙрдЯрдкреБрдЯ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдлрд╝рд╛рдЗрд▓-рдореИрдкрд░ рдХреЛ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рд╕реЗ 10 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рдмрдирд╛рддрд╛ рдерд╛ред рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдЖрдзреЗ рд╕реЗ рдХрдо рдХрд░ рджрд┐рдпрд╛, рдФрд░ рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЖрдзрд╛ рдХрд░ рджрд┐рдпрд╛ред рдЕрдм 133kB рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП ~ 300kB рдлрд╛рдЗрд▓-рдореИрдкрд░ рдЬреЗрдирд░реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЬрдЯрд┐рд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдХрдореА рдХреЛ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛?
рдЗрд╕рдореЗрдВ рд╡реАрдПрд▓рдХреНрдпреВ (рд╡реИрд░рд┐рдПрдмрд▓ рд▓реЗрдВрде рдХреНрд╡рд╛рдВрдЯрд┐рдЯреА) рдФрд░ рдмреЗрд╕ 64 рдПрдирдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред mappings рд╕рдВрдкрддреНрддрд┐ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рдЕрдВрджрд░, рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо (;) рдЕрд▓рдЧ рд▓рд╛рдЗрди рдирдВрдмрд░ рд╣реЛрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрджрд░, рдХреЛрдб рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб 1, 4 рдпрд╛ 5 рд╡реАрдПрд▓рдХреНрдпреВ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдирд┐рд░рдВрддрд░рддрд╛ рдмрд┐рдЯ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЫрд╡рд┐
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб 1, 4 рдпрд╛ рдкрд╛рдВрдЪ рд╡реАрдПрд▓рдХреНрдпреВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрд░реЗрдЦ 4 рд╡реАрдПрд▓рдХреНрдпреВ рдХреЛ рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рдмрд┐рдЯ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдФрд░ рджрд┐рдЦрд╛рдПрдВ рдХрд┐ рдореИрдкрд░ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЦрдВрдб рдореЗрдВ рдкрд╛рдБрдЪ рдЪреАрдЬрд╝реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

( рдЯрд┐рдкреНрдкрдгреА perevред рдореИрдВрдиреЗ рд▓реЗрдЦ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдпрджрд┐ рдЖрдк рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓рд┐рдЦрдирд╛, рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ )

XSSI рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджреЗ


рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдирд┐рд░реНрджреЗрд╢ XSS рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ js рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдФрд░ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдореИрдк рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ " )]} " рд▓рд┐рдЦрдХрд░ рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред WebKit dev рдЯреВрд▓реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдлрдБрд╕рд╛рдирд╛ рд╣реИ:
 if (response.slice(0, 3) === ")]}") { response = response.substring(response.indexOf('\n')); } 

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

@sourceURL рдФрд░ рдкреНрд░рджрд░реНрд╢рдирдирд╛рдо рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ: eval рдФрд░ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди


рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрди рджреЛрдиреЛрдВ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЛ рдЕрднреА рддрдХ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рднреА рд╡реЗ eval рдФрд░ рдЕрдирд╛рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рд╕рд╣рд╛рдпрдХ //@ sourceMappingURL рд╕рдорд╛рди рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (V3) рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИред рдХреЛрдб рдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ, рдЬрд┐рд╕реЗ рддрдм eval рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЖрдк eval s рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рдирд╛рдо рджреЗрдЧрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

рдЙрджрд╛рд╣рд░рдг - рдЙрддреНрдкрдиреНрди рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреЛрдб eval рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░рд╛
рдЫрд╡рд┐

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

рдЙрджрд╛рд╣рд░рдг - рдкреНрд░рджрд░реНрд╢рдирдирд╛рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдирд╛рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдо (рдХреЗрд╡рд▓ WebKit NIII)
рдЫрд╡рд┐
рдЬрдм рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ, (anonymous function) рдмрдЬрд╛рдп рд╕реБрдВрджрд░ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ displayName Google рдХреНрд░реЛрдо рдХреЗ рдЕрдВрддрд┐рдо рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрднреА рднреА рдЙрдореНрдореАрдж рд╣реИ, рд╡реЗ рднреА рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред
рд▓реЗрдЦрди рдХреЗ рд╕рдордп, eval рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдирд╛рдордХрд░рдг рдХреЛрдб рдХреЗрд╡рд▓ Firefox рдФрд░ Google Chrome рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред displayName рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗрд╡рд▓ Google Chrome рдореЗрдВ рд╣реА рд░рд╛рдд рдореЗрдВ рдмрдирддреА рд╣реИред

рдореЗрдВ рдбрд╛рд▓реЛ


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

рд╕реНрд░реЛрдд рдХрд╛ рдирдХреНрд╢рд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ


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

рдЙрдкрдХрд░рдг рдФрд░ рд╕рдВрд╕рд╛рдзрди




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

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


All Articles