рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рджреЛ рдмрд╛рд░ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдЪрд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдПрдХ рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред ES2015 рдореЙрдбреНрдпреВрд▓ incrementрдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

// increment.js
let counter = 0;
counter++;

export default counter;

рдПрдХ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ consumer, рдЙрдкрд░реЛрдХреНрдд рдореЙрдбреНрдпреВрд▓ 2 рдмрд╛рд░ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

// consumer.js
import counter1 from './increment';
import counter2 from './increment';

counter1; // => ???
counter2; // => ???

рдФрд░ рдЕрдм, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╕рд╡рд╛рд▓ред рдЪрд░ рдореЗрдВ counter1рдФрд░ counter2рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ consumer? рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред





рдореЙрдбреНрдпреВрд▓ рдирд┐рд╖реНрдкрд╛рджрди


рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдВрддреНрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ ред

рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд░рд┐рдХреЙрд░реНрдб рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ ред рдЗрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ Evaluate()рд╣реИ рдЬрд┐рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ:

рдпрджрд┐ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓реМрдЯреЗрдВ; [...]ред рдЕрдиреНрдпрдерд╛, рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░реЗ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреЛ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╡рд╣ рдпрд╣реАрдВ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдирд┐рд░реНрджреЗрд╢ рдХреЙрд▓import рд╕рдорд╛рди рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╛рди рдореЙрдбреНрдпреВрд▓ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛?

рдЖрдпрд╛рдд рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдВ


рдЕрдореВрд░реНрдд рдСрдкрд░реЗрд╢рди HostResolveImportedModule () рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ ( рд╕реНрдкреЗрд╕рд┐рдпрд░) рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ ред рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

import module from 'path';

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХреНрдпрд╛ рдХрд╣рддреА рд╣реИ:

HostResolveImportedModule рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

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

рдЕрдм рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭреЗрдВред

HostResolveImportedModule(referencingScriptOrModule, specifier)- рдПрдХ рд╕рд╛рд░ рдЖрдкрд░реЗрд╢рди рдХрд┐ рд░рд┐рдЯрд░реНрди рдореЙрдбреНрдпреВрд▓ рдорд╛рдирдХреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдЗрд╕реА referencingScriptOrModule, specifier:

  • рдкреИрд░рд╛рдореАрдЯрд░ referencingScriptOrModuleрд╡рд░реНрддрдорд╛рди рдореЙрдбреНрдпреВрд▓ рд╣реИ, рд╡рд╣ рд╣реИ, рдЬреЛ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред
  • рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ specifierрдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдЬреЛ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдкрде рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ importред

рд╡рд┐рд╡рд░рдг рдХреЗ рдЕрдВрдд рдореЗрдВ, HostResolveImportedModule()рдпрд╣ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рд╕рдорд╛рди рдкрде рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд╛рди рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

import moduleA from 'path';
import moduleB from 'path';
import moduleC from 'path';

// moduleA, moduleB  moduleC -    

moduleA === moduleB; // => true
moduleB === moduleC; // => true

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрдЬрдмрд╛рди (рдмреНрд░рд╛рдЙрдЬрд╝рд░, Node.js рдкрд░реНрдпрд╛рд╡рд░рдг, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ - рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдХреБрдЫ рднреА) рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП HostResolveImportedModule()ред

рдЙрддреНрддрд░


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

рдЖрдЗрдпреЗ рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред

рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ incrementрд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ :

// increment.js
let counter = 0;
counter++;

export default counter;

рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрд┐рддрдиреА рдмрд╛рд░ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ increment, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ counter++рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред counterрдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдпрд╛рдд рддрдВрддреНрд░ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдЪрд░ 1ред

рдЕрдм рдореЙрдбреНрдпреВрд▓ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ consumer:

// consumer.js
import counter1 from './increment';
import counter2 from './increment';

counter1; // => 1
counter2; // => 1

рдХрдорд╛рдВрдб import counter1 from './increment'рдФрд░ import counter2 from './increment'рдПрдХ рд╣реА рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - './increment'ред рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдорд╛рди 1 рдЪрд░ counter1рдФрд░ counter2рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП consumerрд▓рд┐рдЦрд╛ рд╣реИ ред

рд╕рд╛рд░рд╛рдВрд╢


рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рд╢реНрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдФрд░ рдЖрдпрд╛рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

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

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреБрдЫ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реБрдП, рдЖрдк рдХрд┐рддрдиреА рдмрд╛рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрддреЗ рд╣реИрдВ?


All Articles