
рдХреЛрдгреАрдп 6 рдиреЗ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ (
рдкреНрд░рджрд╛рди ) рдореЗрдВ рд╕реЗрд╡рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмреЗрд╣рддрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреЗрд╢ рдХрд┐рдпрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХреЛрдгреАрдп 7 рдкрд╣рд▓реЗ рд╣реА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдпрд╣ рд╡рд┐рд╖рдп рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред
GitHub, Slack рдФрд░ Stack Overflow рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рднреНрд░рдо рд╣реИ, рддреЛ рдЖрдЗрдП рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ:
- рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди
- рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдПрдВрдЧреБрд▓рд░ ( рдкреНрд░рджрд╛рддрд╛рдУрдВ: [] ) рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреБрд░рд╛рдирд╛ рддрд░реАрдХрд╛;
- рдХреЛрдгреАрдп рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ ( рдмрд╢рд░реНрддреЗ: 'рд░реВрдЯ' | SomeModule );
- рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ ;
- рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ;
- рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛ред
рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди
рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
DI рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди ( DI ) рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдкреНрд░рдгрд╛рд▓реА рдЖрд╢реНрд░рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬрдм рдпрд╣ рдПрдХ рд╡рд░реНрдЧ рдХреЛ рддрддреНрдХрд╛рд▓ рдХрд░рддреА рд╣реИред
- рдХреЛрдгреАрдп рдкреНрд░рд▓реЗрдЦрди
рдФрдкрдЪрд╛рд░рд┐рдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреНрдпрд╛ рд╣реИ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
рд╕рднреА рдШрдЯрдХ рдФрд░ рд╕реЗрд╡рд╛рдПрдБ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖
рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдзрд┐ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЬрдм рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╣реИ:
constructor(private http: HttpClient)
рдпрджрд┐ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ
HttpClient рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
const myService = new MyService(httpClient)
рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ
httpClient рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рдХрд╣рд╛рдБ ? рдЗрд╕реЗ рднреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
const httpClient = new HttpClient(httpHandler)
рд▓реЗрдХрд┐рди рдЕрдм
httpHandler рдХрд╣рд╛рдВ рд╕реЗ
рд▓рд╛рдПрдВ ? рдФрд░ рдЗрд╕реА рддрд░рд╣, рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрдХреНрд╖рд╛рдПрдВ рддрддреНрдХрд╛рд▓ рди рд╣реЛрдВред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдиреБрдЕрд▓ рдирд┐рд░реНрдорд╛рдг рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдХреЛрдгреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рддрдВрддреНрд░ рдпрд╣ рд╕рдм рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдмрд╕ рдШрдЯрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рдпрд╛рд╕ рдХреЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛редрдХреЛрдгреАрдп рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреБрд░рд╛рдирд╛ рддрд░реАрдХрд╛ (рдкреНрд░рджрд╛рддрд╛: [])
рдЖрд╡реЗрджрди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдгреАрдп рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд╕реНрддреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдШрдЯрдХреЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдПрдВрдЧреБрд▓рд░ 6 рдЬрд╛рд░реА рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛
рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд╕реЗрд╡рд╛рдПрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдерд╛
: [] рд╕рдЬреНрдЬрд╛рдХрд╛рд░
@NgModule ,
@Component рдФрд░
@Directive ред

рдпрд╣рд╛рдБ
рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рддреАрди рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рд╣реИрдВ
: [] :
- рддреБрд░рдВрдд рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ ( рдЙрддреНрд╕реБрдХ ) рдХреЗ @NgModule рдбреЗрдХреЛрд░реЗрдЯрд░ рдореЗрдВ;
- рджреЗрд░реА рд▓реЛрдбрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ ( рдЖрд▓рд╕реА ) рдХреЗ @NgModule рдбреЗрдХреЛрд░реЗрдЯрд░ рдореЗрдВ;
- рд╕рдЬреНрдЬрд╛рдХрд╛рд░реЛрдВ рдореЗрдВ @Component рдФрд░ @ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ ред
рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ (рдИрдЧрд░)
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реЗрд╡рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИред рдХрдИ рдореЙрдбреНрдпреВрд▓ рдХреЗ
рдкреНрд░рджрд╛рддрд╛рдУрдВ [] рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ рднреА рдпрд╣ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рд╣реЛрдЧрд╛ред рд╕реЗрд╡рд╛ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдПрдХрд▓ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЖрд╡реЗрджрди рдХреЗ рдореВрд▓ рд╕реНрддрд░ рдкрд░ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдЧрд╛ред
рдЖрд╕реНрдердЧрд┐рдд рд▓реЛрдб рдореЙрдбреНрдпреВрд▓ (рдЖрд▓рд╕реА)
рдЖрд▓рд╕реА рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЬреБрдбрд╝реА рд╕реЗрд╡рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕рдХреЗ рдЖрд░рдВрдн рдХреЗ рджреМрд░рд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЙрдбреНрдпреВрд▓ рдХреЗ
рдЙрддреНрд╕реБрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рд╕реЗрд╡рд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧреА:
MyService рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рджрд╛рддрд╛ рдирд╣реАрдВ! рддреНрд░реБрдЯрд┐ ред
@ рдШрдЯрдХ рдФрд░ @ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЬрдм рдПрдХ рдШрдЯрдХ рдпрд╛ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реЗрд╡рд╛ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдШрдЯрдХ рдФрд░ рд╕рднреА рдмрдЪреНрдЪреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реЗрд╡рд╛ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдирд╣реАрдВ рд╣реЛрдЧреА, рдЗрд╕рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣рд░ рдмрд╛рд░ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЛрдо рд╕реЗ рдШрдЯрдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ,
RandomService рдХреЛ рдореЙрдбреНрдпреВрд▓ рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдирд╣реАрдВ рд╣реИ,
рд▓реЗрдХрд┐рди
рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд
: [] рд░реИрдВрдбрдо рдХреЙрдордкреЛрдиреЗрдВрдЯ рдШрдЯрдХ рдХрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ
<randm> </ randm> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирдВрдмрд░ рдорд┐рд▓реЗрдЧрд╛ред
рдХреЛрдгреАрдп рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдирдпрд╛ рддрд░реАрдХрд╛ (рдмрд╢рд░реНрддреЗ: 'рд░реВрдЯ' | SomeModule)
рдХреЛрдгреАрдп 6 рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдЖрд╡реЗрджрди рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ
рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛
"рдЯреНрд░реА-рд╢реЗрдХреЗрдмрд▓ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕" рдЯреВрд▓ рдорд┐рд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ
@ рдЗрдирдЬреЗрдХреНрдЯреЗрдмрд▓ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ: рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдиреЗ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдЕрдм рд╕реЗрд╡рд╛ рдЙрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИредрд╕реЗрд╡рд╛ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореВрд▓ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (
рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛: 'рд░реВрдЯ' ) рдпрд╛ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ (
рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛: SomeModule )ред
рдкреНрд░рджрд╛рди рдХреА рдЧрдИ: 'рд░реВрдЯ' AppModule рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╣реИред

рдЖрдЗрдП рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ:
- рдЖрд╡реЗрджрди рдХреЗ рдореВрд▓ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ( рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛: 'рд░реВрдЯ' );
- рддреБрд░рдВрдд рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ ( рдЙрддреНрд╕реБрдХ ) рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди;
- рд╡рд┐рд▓рдВрдмрд┐рдд рд▓реЛрдбрд┐рдВрдЧ ( рдЖрд▓рд╕реА ) рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
рдЖрд╡реЗрджрди рдХреЗ рдореВрд▓ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛: 'рд░реВрдЯ')
рдпрд╣ рд╕рдмрд╕реЗ рдЖрдо рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реЗрд╡рд╛ рдХреЛ рдХреЗрд╡рд▓ рдмрдВрдбрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдПрдХ рдШрдЯрдХ рдпрд╛ рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдбред
рдирдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдЕрдЦрдВрдб рдПрд╕рдкреАрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрд╣реБрдд рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рд╕рднреА рд▓рд┐рдЦрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐
рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
: рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦрддреЗ рд╕рдордп
'рд░реВрдЯ' рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдкрд╣рд▓реЗ, рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ
рдкреНрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛
: [] рдЗрд╕рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреАред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЖрд╡реЗрджрди рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдВрдбрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рднрд▓реЗ рд╣реА рдХреЗрд╡рд▓ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдорд╛рдорд▓реЗ рдореЗрдВ
: 'рд░реВрдЯ' рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдмрд╕ рд╡рд╛рдВрдЫрд┐рдд рдШрдЯрдХ рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░реЗрдВред
рд╡рд┐рд▓рдВрдмрд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ (рдЖрд▓рд╕реА) рдФрд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛: 'рд░реВрдЯ'
рдпрджрд┐ рдЖрдк
рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕реЗрд╡рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ
: рдЖрд▓рд╕реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ
'рд░реВрдЯ' ?
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ,
'рд░реВрдЯ' AppModule рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди
рдПрдВрдЧреБрд▓рд░ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ
рдЖрд▓рд╕реА рдмрдВрдбрд▓ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реИ рдпрджрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рдШрдЯрдХреЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ)ред рдпрджрд┐ рдЖрдк рдмрд╛рдж рдореЗрдВ рдХреЗрд╡рд▓
рдЖрд▓рд╕реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рдХреЛ рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реЗрд╡рд╛ рдХреЛ рдореБрдЦреНрдп рдмрдВрдбрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрдИ рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рдЯреНрд░реИрдХрд┐рдВрдЧ рдореБрджреНрджреЛрдВ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рд╡рдзрд╛рди! рдХрдИ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдЫрд┐рдкреА рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реБрд▓рдЭрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИредрд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдиреАрдЪреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рддреБрд░рдВрдд рд▓реЛрдб рдореЙрдбреНрдпреВрд▓ (рдЙрддреНрд╕реБрдХ) рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдорд╛рдорд▓рд╛ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо
provideIn: 'root' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
EagerModule рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдХреЛ
рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдкреБрд░рд╛рдиреЗ
рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ
: [] рд╡рд┐рдзрд┐, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдкрддреНрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рджрд┐рдП рдЧрдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: рд╕рднреА рдЙрддреНрд╕реБрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ 'рд░реВрдЯ'редрдиреЛрдЯред рд╡рд┐рд▓рдВрдмрд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ (рдЖрд▓рд╕реА) рдХрд╛ рд▓рд╛рдн
рдХреЛрдгреАрдп рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрд╡реЗрджрди рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдн рджреЗрддрд╛ рд╣реИ:
- рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рдмрдВрдбрд▓ рдХрд╛ рдЫреЛрдЯрд╛ рдЖрдХрд╛рд░, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЖрд╡реЗрджрди рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рддреЗрдЬреА рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ;
- рд╡рд┐рд▓рдВрдмрд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдерд▓рдЧ рд╣реИ рдФрд░ рдПрдХ рдмрд╛рд░ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рд░реНрдЧ рдХреЗ рд▓реЛрдбрдЪрд┐рд▓реНрдбреЗрди рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдЖрд╡реЗрджрди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рджреЗрд░реА рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕реИрдХрдбрд╝реЛрдВ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдкреВрд░реНрдг рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрд▓рдЧ рдЖрд╡реЗрджрди рдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рдХрдо рдпрд╛ рдХреЛрдИ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рд╣реИредрдЖрд▓рд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрд▓рдЧрд╛рд╡ рдХрд╛ рдПрдХ рдФрд░ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреА рдЧрдИ рдПрдХ рдЧрд▓рддреА рдмрд╛рдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧреАред рдЕрдм рдЖрдк рд░рд┐рд▓реАрдЬ рдХреЗ рджрд┐рди рднреА рд╢рд╛рдВрддрд┐ рд╕реЗ рд╕реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рд▓рдВрдмрд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛: LazyModule)

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

рдЖрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- LazyModule рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдПрдБ;
- рд╣рдо LazyService рд╕реЗрд╡рд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ provideIn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ : LazyModule ;
- рд╣рдо LazyComponent рдШрдЯрдХ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ LazyModule рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ;
- LazyService рдХреЛ LazyComponent рдШрдЯрдХ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ;
- рд╣рдореЗрдВ рдЪрдХреНрд░реАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред
рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рд╕реЗрд╡рд╛ -> рдореЙрдбреНрдпреВрд▓ -> рдШрдЯрдХ -> рд╕реЗрд╡рд╛ ред
рдЖрдк рдПрдХ
рд╕рдмрдореЙрдбрд▓ LazyServiceModule рдмрдирд╛рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ
LazyModule рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХреА
рдЬрд╛рдПрдЧреА ред рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕рдмрдореЙрдбреНрдпреВрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдн рджреЗрдВрдЧреЗ:
- рдпрд╣ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реЗрд╡рд╛ рдХреА рд╢реБрд░реВрдЖрдд рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛;
- рдПрдХ рдмрдВрдбрд▓ рдореЗрдВ рд╕реЗрд╡рд╛ рддрднреА рдЬреЛрдбрд╝реА рдЬрд╛рдПрдЧреА рдЬрдм рдпрд╣ рдХрд┐рд╕реА рдШрдЯрдХ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реЛред
рдШрдЯрдХ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ (рдкреНрд░рджрд╛рди рдХреА рдЧрдИ: SomeComponent)
рдХреНрдпрд╛ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
@Component рдпрд╛
@Directive рдореЗрдВ рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдлрд┐рд▓рд╣рд╛рд▓ рдирд╣реАрдВ!рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрднреА рднреА
рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
: [] @ omponent рдпрд╛
@Directive рдбреЗрдХреЛрд░реЗрдЯрд░ рдореЗрдВ ред

рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕
рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ
рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдП рдЧрдП: рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
'рд░реВрдЯ' рдЕрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдХреЗрд╡рд▓ рд╕реАрдзреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рдореБрдЦреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЕрдВрддрд┐рдо рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред
рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдПрдирдПрдХреНрд╕рдПрдХреНрд╕-рдореЙрдбрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ, рдЬрд┐рд╕реЗ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЗрд╕реЗ @ рдХреЛрдгреАрдп-рдПрдХреНрд╕рдЯреЗрдВрд╢рди-рдореЙрдбрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдирдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, NgxModelModule рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рдореЗрдВ рдореЙрдбрд▓рдлреИрдХреНрдЯ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ редрдЖрд╕реНрдердЧрд┐рдд рдбрд╛рдЙрдирд▓реЛрдб рдореЙрдбреНрдпреВрд▓ (рдЖрд▓рд╕реА)
рдЕрд▓рдЧ рд╕реЗ рджрд┐рдП
рдЧрдП рдЗрдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
: рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП
LazyServicesModule рдореЙрдбреНрдпреВрд▓ рдФрд░ рдЗрд╕реЗ
LazyModule рдореЗрдВ рдкреНрд▓рдЧ рдХрд░реЗрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкреНрд▓рдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдпрд╣ рд╕реАрдорд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдореБрдЦреНрдп рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ (рдкреНрд░реЛрд╡рд┐рдВрдб рдЗрди: 'рд░реВрдЯ' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдореЗрдВ рдЖрдХрд╕реНрдорд┐рдХ рдкрд░рд┐рдЪрдп рднреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ!provideIn : 'root' рд╕рд╣реА рдврдВрдЧ рд╕реЗ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЬрдм
provideIn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ
: LazyServideModule рд╣рдореЗрдВ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд▓рд╛рдЧреВ
рд╣реЛрдиреЗ рдкрд░ "рд▓рд╛рдкрддрд╛ рдкреНрд░рджрд╛рддрд╛" рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдФрд░ рд╣рдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдкрд░ рд▓реЗ рдЬрд╛рдПрдВредрдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: []?
рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрд╡рд╛ рдХреЛ рдХреЗрд╡рд▓
SomeModule.forRoot (someConfig) рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
рджреВрд╕рд░реА рдУрд░, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк provideIn: 'root' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдЧрд╛ рдХрд┐ рд╕реЗрд╡рд╛ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЖрд╡реЗрджрди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛редрдирд┐рд╖реНрдХрд░реНрд╖
- рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ : 'рд░реВрдЯ' рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреВрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
- рдореБрдЦреНрдп рдмрдВрдбрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП, provideIn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ : 'root' , рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛: EagerlyImportedModule ред рдЕрд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ : [] рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдПред
- рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдмрдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдПрдВ рддрд╛рдХрд┐ рдЙрдирдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп LazyServiceModule ред
- рд╡реГрддреНрддрд╛рдХрд╛рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП LazyServiceModule рдореЙрдбреНрдпреВрд▓ рдХреЛ LazyModule рдореЗрдВ рдкреНрд▓рдЧ рдХрд░реЗрдВред
- рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ : [ omponent рдФрд░ @Directive рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рдореЗрдВ ] рдкреНрд░рддреНрдпреЗрдХ рдирдП рдШрдЯрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдЖрд╡реГрддреНрддрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рднреА рдмрд╛рд▓ рдШрдЯрдХреЛрдВ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдг рднреА рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред
- рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдФрд░ рднреНрд░рд╛рдордХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВред
рд╕рдВрджрд░реНрдн
рдореВрд▓ рд▓реЗрдЦредрдХреЛрдгреАрдп рд░реВрд╕реА рднрд╛рд╖реА рд╕рдореБрджрд╛рдп рд╣реИредрд░реВрд╕ рдореЗрдВ рдХреЛрдгреАрдп рдмреИрдардХ