рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб JavaScript Node.js 13.0 рд░рд┐рд▓реАрдЬрд╝

рдЙрдкрд▓рдмреНрдз ╤А╨╡╨╗╨╕╨╖ рдиреЛрдбред 13.0,рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдоред рдЗрд╕реА рд╕рдордп, Node.js 12.x рдХреА рдкрд┐рдЫрд▓реА рд╢рд╛рдЦрд╛ рдХрд╛ рд╕реНрдерд┐рд░реАрдХрд░рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рд░рд┐рд▓реАрдЬрд╝ рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ 4 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред Node.js 10.0 рдХреА рдкрд┐рдЫрд▓реА LTS рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЕрдкреНрд░реИрд▓ 2021 рддрдХ рд░рд╣реЗрдЧрд╛, рдФрд░ рдЕрдВрддрд┐рдо LTS рд╢рд╛рдЦрд╛ 8.0 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬрдирд╡рд░реА 2020 рддрдХ рд░рд╣реЗрдЧрд╛ред

рдореБрдЦреНрдп рд╕реБрдзрд╛рд░:

  • V8 рдЗрдВрдЬрди рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ 7.8, рдЬреЛ рдирдИ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЪрд░рд┐рдВрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ WebAssembly рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдХреЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ;
  • рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп-рдЖрдзрд╛рд░рд┐рдд рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИ рдЖрдИрд╕реАрдпреВ (рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдШрдЯрдХ), рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд╕рд╣рд╛рдпрдХ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдкреВрд░реНрдг-рдЖрдИрд╕реАрдпреВ рдореЙрдбреНрдпреВрд▓ рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ;
  • рдПрдкреАрдЖрдИ рд╕реНрдерд┐рд░ рд╢реНрд░рдорд┐рдХ рд╕реВрддреНрд░, рдХреА рдЗрдЬрд╛рдЬрдд рджреА рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдмрдирд╛рдПрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрдХрд░_рдереНрд░реЗрдбреНрд╕ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ рдереНрд░реЗрдб рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд░реНрдХрд░реНрд╕ рдереНрд░реЗрдбреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рд╕рдорд░реНрдерди рдХреЛ Node.js 12.x рдХреА LTS рд╢рд╛рдЦрд╛ рдореЗрдВ рднреА рдмреИрдХрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
  • рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдмрдврд╝рд╛ рджреА рдЧрдИ рд╣реИрдВред рдЕрднреА рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрдо рд╕реЗ рдХрдо macOS 10.11 (Xcode 10 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), AIX 7.2, Ubuntu 16.04, рдбреЗрдмрд┐рдпрди 9, EL 7, рдЕрд▓реНрдкрд╛рдЗрди 3.8, Windows 7/2008;
  • Python 3 рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд░реНрдердиред рдпрджрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ Python 2 рдФрд░ Python 3 рджреЛрдиреЛрдВ рд╣реИрдВ, рддреЛ Python 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднреА рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЗрд╡рд▓ Python 3 рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ;
  • HTTP рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдкреБрд░рд╛рдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ("тАФhttp-parser=legacy") рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдЯрд╛рдП рдЧрдП рдпрд╛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХреЙрд▓ рдФрд░ рдЧреБрдг FSWatcher.prototype.start(), ChildProcess._channel, ReadStream рдФрд░ WriteStream рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ open() рд╡рд┐рдзрд┐, request.connection, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛.connection, рдореЙрдбреНрдпреВрд▓.createRequireFromPath();
  • рдЕрдЧрд▓реЗ рдмрд╛рд╣рд░ рдЖ рдЧрдпрд╛ рдЕрджреНрдпрддрди 13.0.1, рдЬрд┐рд╕рдиреЗ рдХрдИ рдмрдЧреЛрдВ рдХреЛ рддреБрд░рдВрдд рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, npm 6.12.0 рдореЗрдВ рдЕрд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ Node.js рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╕рдорд░реНрдерди рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Node.js рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдВрдЧреНрд░рд╣, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ HTTP, SMTP, , MongoDB ), рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди, CSS рдЗрдВрдЬрди, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд┐рд╕реНрдЯрдо (OAuth), XML рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред

рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, Node.js рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдИрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЙрд▓рдмреИрдХ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рдИрдкреЛрд▓, рдХреНрдпреВрдХреНрдпреВ, /рдбреЗрд╡/рдкреЛрд▓ рдФрд░ рд╕реЗрд▓реЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд╛рдорд╡рд╛рд╕рдирд╛, рдЬреЛ рдПрдХ рдЕрдзрд┐рд░рдЪрдирд╛ рд╣реИ libev рдпреВрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЖрдИрдУрд╕реАрдкреА рдкрд░ред рдереНрд░реЗрдб рдкреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ libeio, рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдореЛрдб рдореЗрдВ DNS рдХреНрд╡реЗрд░реАрдЬрд╝ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╕реА-рдПрд░реЗрд╕. рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рдереНрд░реЗрдб рдкреВрд▓ рдХреЗ рднреАрддрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░, рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдХреА рддрд░рд╣, рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдЕрдирд╛рдо рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди Google рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЗрдВрдЬрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ V8 (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Microsoft рдЪрдХреНрд░-рдХреЛрд░ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде Node.js рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ)ред

рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, Node.js рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ рдкрд░реНрд▓ рдПрдиреАрдЗрд╡реЗрдВрдЯ, рд░реВрдмреА рдЗрд╡реЗрдВрдЯ рдорд╢реАрди, рдЕрдЬрдЧрд░ рдореБрдбрд╝ рдЧрдпрд╛ ╨╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЯреАрд╕реАрдПрд▓ рдореЗрдВ рдЗрд╡реЗрдВрдЯ, рд▓реЗрдХрд┐рди Node.js рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдиреЛрдб.рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрддреЗ рд╕рдордп, рдЗрд╡реЗрдВрдЯ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "var рдкрд░рд┐рдгрд╛рдо = db.query("select..");" рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рдж рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, Node.js рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдХреЛрдб рдХреЛ "db.query("select..", рдлрд╝рдВрдХреНрд╢рди (рдкрд░рд┐рдгрд╛рдо) {рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг});" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рддреБрд░рдВрдд рдЖрдЧреЗ рдХреЗ рдХреЛрдб рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдбреЗрдЯрд╛ рдЖрдиреЗ рдкрд░ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред .

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ