рдореЗрд░реЗ рдкрд╛рд╕ рд░рд┐рдПрдХреНрдЯ рдЯрд╛рдЗрдк рдбреЗрдлрд┐рдирд┐рд╢рди рдлрд╛рдЗрд▓ рд╣реИ (рдЬреЛ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХреА рдЧрдИ рд╣реИ)ред рдореЗрд░реЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдХрд░рддрд╛ рд╣реВрдВ:
import * as R from "react"
рдФрд░ рдлрд┐рд░ рдЦрд╝реБрд╢реА рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдлреИрд╢рди рдореЗрдВ R.createElement(...
рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ:
let _r = R;
_r.createElement(...
рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рд╣рд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрд░ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдШреЛрд╖рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ (рд╣рд╛рдВ, рдореИрдВ рдХреБрдЫ рдЪрд░ рдХреЗ рд╕рд╛рде рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ)ред рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдПрдХ .d.ts
:
import * as React from "react";
declare var R : React;
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛" рдирд╛рдо рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрдбрд░рд▓рд╛рдЗрдВрдЧ Rea.d.ts рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдкреВрд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ?
рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рд╕ рдорд┐рдирдЯ рдореЗрдВ рдЖрдк рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ import
рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рд░рд┐рдПрдХреНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?
https://github.com/borisyankov/DefinitelyTyped/blob/master/react/react-global.d.ts
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ react-global.d.ts
рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ React
рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЗрд╕рдХрд╛ рдирд╛рдо рдХреИрд╕реЗ рдмрджрд▓реВрдВрдЧрд╛ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛?
declare var _r = React; // error Cannot find name 'React';
рдореЗрд░рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ / рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдореБрдЭреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдкрде рдЖрдпрд╛рддреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред рдореИрдВ рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдХреИрд╕реЗ рдЬрд╛рдиреЗ рджрд┐рдпрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд┐рдпрд╛ рд╣реИред
@ рд╣реЗрдЬрд▓рдмрд░реНрдЧ - рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдкрд░ рдореЗрд░реЗ рдХрд╕реНрддреВрд░реА рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрдпрд╛рдд рдЪреАрдЬреЗрдВ рд╣реИрдВ ... :)
рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ r.d.ts
рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
/// <reference path="react-global.d.ts"/>
declare var R: typeof React;
рдФрд░ рдлрд┐рд░ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рд░ рдЬрдЧрд╣ рджреЗрдЦреЗрдВред рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░:
/// <reference path="react-global.d.ts"/>
import R = React;
рдЬреЛ рдЖрдкрдХреЛ R.xxx рдХреЗ рд░реВрдк рдореЗрдВ React рд╕реЗ рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рднреА typeof
рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ - рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ред рдпрд╣ .d.ts
рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЧреНрд▓реЛрдмрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд╣рд░рд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЦрддреНрдо рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ...
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП typeof
рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреБрд░реЛрдз (рдЬреИрд╕реЗ # 2357) рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдмрд╣реБрдд рдорд╛рдВрдЧ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдпрд╛ рддреЛ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд┐рдирд╛ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рдеред рдПрдПрдордбреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдРрдк рдХреЗ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рднрд╛рдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдирд┐рд╖реНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдорд┐рд╢реНрд░рд┐рдд рдореЙрдбрд▓ рднреА рд╕рдВрднрд╡ рд╣реИред рддреЛ рд╣рд╛рдБ, рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рд╣реИред
рдЗрд╕ рдкрд░ рдореБрдЭреЗ рд╣рд╛рд╕реНрдп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рд╕рдордп рдзрдиреНрдпрд╡рд╛рдж рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП! рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ (рдЖрдЧрд╛рдореА Angular2 рдФрд░ Aurelia рдЪреМрдЦрдЯреЗ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХреА рд╣реИред # 17, # 2338 рдФрд░ # 2839 рдЬреИрд╕реЗ рдореБрджреНрджреЗ рдореБрдЭреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдЦ рд░рд╣реЗ рд╣реИрдВред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЧрд╣рд░рд╛ рдЧреЛрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реБрдП рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреВрдВрдЧрд╛ред
рдХреНрдпрд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ? рдореИрдВ VueJS рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрдЧрд░ рдореИрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рд╕рднреА рдШрдЯрдХ рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред рдХреНрдпрд╛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдпрд╛ рд╣реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
@Evertt
рдореБрдЭреЗ рдПрдХ рд░рд╛рд╕реНрддрд╛ рдорд┐рд▓рд╛, рдЬреЛ рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2.xx рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░рд╛рдорд╛ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ R
рд░реВрдк рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
npm install ramda @types/ramda
typings/ramda.d.ts
рдмрдирд╛рдПрдБtypings
рдлрд╝реЛрд▓реНрдбрд░ рдЬреЛрдбрд╝реЗрдВ:"include": [
"typings/**/*",
...
]
typings/ramda.d.ts
:import * as _R from 'ramda';
export as namespace R;
export = _R;
рдЕрдм рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рднреА ts рдлрд╛рдЗрд▓реЗрдВ рдпрд╣ рдорд╛рдирддреА рд╣реИрдВ рдХрд┐ рдХреЛрдИ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реБрдЖ рд╡реИрд╢реНрд╡рд┐рдХ R
рдореЗрд░реЗ рдмрд┐рдирд╛ рдХреЛрдИ рдФрд░ рдЖрдпрд╛рдд рдпрд╛ рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рд╣реИред
@geekflyer рдЬрдм рдореИрдВ рдЕрдкрдиреЗ types/vue.d.ts
рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ:
import * as V from 'vue'
export as namespace Vue
export = V
рдЬрдм рднреА рдореИрдВ рдЙрд╕ рд╡реИрд╢реНрд╡рд┐рдХ Vue
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
error TS2686: 'Vue' refers to a UMD global, but the current file is a module. Consider adding an import instead.
рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╡рд╣ рддреНрд░реБрдЯрд┐ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рднреА рдорд┐рд▓реА? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛?
рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╣ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╡рд╣ рддреНрд░реБрдЯрд┐ рдХреНрдпреЛрдВ рдорд┐рд▓реА рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЕрдкрдирд╛ рд╕рдВрдкреВрд░реНрдг tsconfig.json рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдпрдж рдЖрдкрдХрд╛ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рднреА?
рд╣рд╛рдп @Ett рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рднреА рдЕрдм рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдореЗрд░рд╛ рд╕реНрд░реЛрдд рдХреЛрдб ES6 рдореЙрдбреНрдпреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рд░реАрдлрд╝реНрд▓реИрдХреНрдЯ рдХрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдХреНрдпрд╛ рдХреБрдЫ рд╢реЛрдз рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрдм рдореИрдВ рджреВрд╕рд░реА рдлрд╛рдЗрд▓ globals.d.ts
рдмрдирд╛рдКрдВ рдФрд░ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреА рд░рдЦреВрдВ:
import * as _R from 'ramda';
import * as _mobx from 'mobx';
declare global {
const R: typeof _R;
const mobx: typeof _mobx;
}
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдлрд╛рдЗрд▓ рдЕрдХреЗрд▓реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ "рд╕рдВрддреБрд╖реНрдЯ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЖрдкрдХреЛ рдЙрди рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ (рдореИрдВ WebStorm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) рдЬрдм рдХреЗрд╡рд▓ globals.d.ts рдлрд╝рд╛рдЗрд▓ рдереА рддреЛ рдореЗрд░реА рдЖрдИрдбреАрдИ рд▓рдЧрд╛рддрд╛рд░ рдореБрдЭреЗ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдВрдЧ рдХрд░ рд░рд╣реА рдереА рдФрд░ рд╕рд╛рде рд╣реА рдЙрди рдЧреНрд▓реЛрдмрд▓реНрд╕ рдкрд░ рдкреВрд░реНрдгрддрд╛ рдЕрдкреВрд░реНрдг рдереАред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЕрдм рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЗрдВ рд░рдЦреАрдВ, рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдореЗрд░реА рдЖрдИрдбреАрдИ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рдХреБрдЫ рдЧреНрд▓реЛрдмрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред
рдпрд╣ рдореЗрд░реА tsconfig.json
рд░рд┐рдлрдВрдб рдХреЗ рд▓рд┐рдП рд╣реИ:
{
"compilerOptions": {
"target": "ES5",
"module": "amd",
"moduleResolution": "node",
"experimentalDecorators": true,
"lib": [
"ES6",
"DOM",
"ScriptHost"
],
"sourceMap": true,
"strictNullChecks": true
},
"include": [
"types/**/*",
"src/**/*"
]
}
рдореИрдВ рдмрдВрдбрд▓ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдкреИрдХ рдпрд╛ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд╕рд┐рд░реНрдл рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ https://github.com/SAP/openui5 рдореЙрдбреНрдпреВрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЬреЛ рдПрдПрдордбреА рдХреЗ рд╕рдорд╛рди рд╣реИ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓ рдХрд░рддрд╛ рд╣реВрдВред
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ: 2.2.1
рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗред
@geekflyer рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрддрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рдерд╛
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рд╛рдп @Ett рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рднреА рдЕрдм рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдореЗрд░рд╛ рд╕реНрд░реЛрдд рдХреЛрдб ES6 рдореЙрдбреНрдпреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рд░реАрдлрд╝реНрд▓реИрдХреНрдЯ рдХрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдХреНрдпрд╛ рдХреБрдЫ рд╢реЛрдз рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрдм рдореИрдВ рджреВрд╕рд░реА рдлрд╛рдЗрд▓
globals.d.ts
рдмрдирд╛рдКрдВ рдФрд░ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреА рд░рдЦреВрдВ:рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдлрд╛рдЗрд▓ рдЕрдХреЗрд▓реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ "рд╕рдВрддреБрд╖реНрдЯ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЖрдкрдХреЛ рдЙрди рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ (рдореИрдВ WebStorm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) рдЬрдм рдХреЗрд╡рд▓ globals.d.ts рдлрд╝рд╛рдЗрд▓ рдереА рддреЛ рдореЗрд░реА рдЖрдИрдбреАрдИ рд▓рдЧрд╛рддрд╛рд░ рдореБрдЭреЗ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдВрдЧ рдХрд░ рд░рд╣реА рдереА рдФрд░ рд╕рд╛рде рд╣реА рдЙрди рдЧреНрд▓реЛрдмрд▓реНрд╕ рдкрд░ рдкреВрд░реНрдгрддрд╛ рдЕрдкреВрд░реНрдг рдереАред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЕрдм рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЗрдВ рд░рдЦреАрдВ, рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдореЗрд░реА рдЖрдИрдбреАрдИ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рдХреБрдЫ рдЧреНрд▓реЛрдмрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред
рдпрд╣ рдореЗрд░реА
tsconfig.json
рд░рд┐рдлрдВрдб рдХреЗ рд▓рд┐рдП рд╣реИ:рдореИрдВ рдмрдВрдбрд▓ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдкреИрдХ рдпрд╛ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд╕рд┐рд░реНрдл рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ https://github.com/SAP/openui5 рдореЙрдбреНрдпреВрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЬреЛ рдПрдПрдордбреА рдХреЗ рд╕рдорд╛рди рд╣реИ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓ рдХрд░рддрд╛ рд╣реВрдВред
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ: 2.2.1
рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗред