Typescript: "рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" --isolatedModules рдФрд░ рдХреЛрдИ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдЕрдкреНрд░реИрд▓ 2017  ┬╖  52рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг: рд░рд╛рдд (2.3.0-dev.20170417)

рдХреЛрдб

function f() {}

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░:

рдХреЛрдИ рддреНрд░реБрдЯрд┐, рдпрд╛ --isolatedModules рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЧреИрд░-рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдирд╣реАрдВред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░:

src/a.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided.

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

Bug Error Messages help wanted

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

A global file cannot be compiled using '--isolatedModules'. Ensure your file contains imports, exports, or an 'export {}' statement.

рд╕рднреА 52 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред namespaces рдмрдЬрд╛рдп рдпрд╣ non-module рдХрд╣ рд╕рдХрддрд╛ рд╣реИред @DanielRosenwasser рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ?

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

# 15839 рдореЗрдВ рдореИрдВрдиреЗ рдЪреЗрдХрд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЪреЗрдХ рдХреЗрд╡рд▓ рд╡реНрдпрд░реНрде рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рд╣рдореЗрд╢рд╛ --isolatedModules рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИ:

export function something() {} // export found, so this module is considered 'external'
namespace ns {} // namespace is still valid in an external module

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЪреЗрдХ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЕрдорд╛рдиреНрдп рд╣реИ), рдЬрдм рдЙрд╕реЗ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреА рд╣реЛред рддреЛ рдХреНрдпреЛрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд┐рд╕реА рднреА рдирд╛рдо рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

@wilonth рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЧрд▓рдд рд╣реИ: рдирд╛рдо рд╕реНрдерд╛рди рдПрдХ (es6) рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЧреИрд░-рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

@ -y-ms рдореИрдВ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рдХреЛрдб рд╕рд┐рд░реНрдл рд╡реНрдпрд░реНрде рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ, рдЬрдм --isolatedModules рдЪрд╛рд▓реВ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрд╛рд╣рд░реА (ES6) рдореЙрдбреНрдпреВрд▓, рдЕрд╡рдзрд┐ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕ рдЕрд░реНрде рдореЗрдВ, рдиреЗрдорд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рдиреВрдиреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЕрднреА, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдИрдПрд╕ 6 рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдиреВрдиреА рд╣реИ ( --isolatedModules рд╕рд╛рде)ред

рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ, рдЬрдм --isolatedModules рдЪрд╛рд▓реВ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрд╛рд╣рд░реА (ES6) рдореЙрдбреНрдпреВрд▓, рдЕрд╡рдзрд┐ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣рд╛рдБ рд╢рдмреНрджрд╛рд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдЖрдпрд╛рдд рдпрд╛ рдирд┐рд░реНрдпрд╛рдд рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рд╕рдВрдХрд▓рдХ рдХреЛ рдХреИрд╕реЗ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

@mhegazy рд╣рд╛рдБ рдФрд░ рдпрд╣ рдирд┐рдпрдо рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрдбрд╝ рд╣реИред рдирд┐рдпрдо рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЖрдпрд╛рдд рдпрд╛ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рд░рд╛рд╕рдд рдЖрдВрддрд░рд┐рдХ рдореЙрдбреНрдпреВрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП --isolatedModules рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдЕрдм рд╣рдореЗрдВ рдирд┐рдпрдо рдХреЛ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреА, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рд╣рдЯрд╛рдХрд░ рд╡рд░реНрддрдорд╛рди рдореБрджреНрджреЗ рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ "рдирд╛рдорд╕реНрдерд╛рди рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдПрдХ рдХреЛрдбрдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рдЖрдВрддрд░рд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рддрд░рд╣? --isolatedModules рд╕рд╛рде, рдХреНрдпрд╛ рдпрд╣ рдХрдЪрд░рд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛? рдирд╣реАрдВ, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реЛрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ --isolatedModules рдиреЗ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рд▓рд┐рдВрдХ рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛, рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдбрд╛рдЙрдирд╕рд╛рдЗрдб рдвреВрдБрдв рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рд╣рдо рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЪреБрдиреЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд╢реВрдиреНрдп рдХрд╛рд░реНрдп (рдмрд╕ рд▓рд╛рдЗрдиреЗрдВ рд╣рдЯрд╛ рджреЗрдВ) рдФрд░ рдХреЛрдИ рдбрд╛рдЙрдирд╕рд╛рдЗрдб рдирд╣реАрдВ рд╣реИ?

--IsolatedModules рдСрди рдХреЗ рд╕рд╛рде, рдХреНрдпрд╛ рдпрд╣ рдХрдЪрд░рд╛ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛? рдирд╣реАрдВ, рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛

рд╣рд╛рдБ рдпрд╣ рд╣реЛрдЧрд╛ред

--isolatedModules рдзреНрд╡рдЬ рдХрд╛ рдореБрджреНрджрд╛ рдпрд╣ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓реАрдХреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрдмреЗрд╕ рдХреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд

file1

namespace ts {
  export var x = 10;
}

рдХрд░реЗрдВ 2

namespace ts {
  var y = x; // transpiles to ts.x during whole-program compilation
}

рдЕрдЧрд░ рд╣рдо рдлрд╛рдЗрд▓-рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рдб 2 рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рдЯреВрдЯ рдЬрд╛рдПрдЧреАред

рдореЗрд░рд╛ рдмреБрд░рд╛, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдкрд░реАрдХреНрд╖рдг рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрддрд╛ рд╣реВрдВред рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @RyanCavanaugh ред

рддреЛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдлреЗрдВрдХрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ (рдпрд╛рдиреА @ рдФрд░-рдПрдордПрд╕ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд "рд╡реИрдХрд▓реНрдкрд┐рдХ" рд╕рдорд╛рдзрд╛рди)ред рд╣рдо рдХреЗрд╡рд▓ рдкрд╛рда рдХреЛ рдХреБрдЫ рдФрд░ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рд╣реИред
рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдореБрдЭреЗ рдЙрди рд╕рднреА рдмрдХрд╡рд╛рд╕реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдпрд╣рд╛рдВ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

A global file cannot be compiled using '--isolatedModules'. Ensure your file contains imports, exports, or an 'export {}' statement.

рдЕрдЧрд░ рд╣рдо рдлрд╛рдЗрд▓-рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рдб 2 рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рдЯреВрдЯ рдЬрд╛рдПрдЧреАред

рдиреЗрдХреНрд░реЛрдореЗрдВрд╕реА рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛, 'x' is not defined рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдП? рдпрд╣ рдорд╛рдорд▓рд╛ рдореБрдЭреЗ рддреБрдЪреНрдЫ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ:

file1

var x = 10;

рдХрд░реЗрдВ 2

var y = x;

рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╕рдВрдШрдЯрди / рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ; namespaces рд╕рд╛рде рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред

рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдХреНрдпреЛрдВ рдкрд░реЗрд╢рд╛рди рдХрд░рддреА рд╣реИ рдХрд┐ import рдпрд╛ export рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИрдВ, рдЬрдм рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА module рд╕рдВрдХрд▓рдХ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ module рд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ none рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рд╕рдВрдШрдирди / рд╡реИрд╢реНрд╡рд┐рдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдЧреНрд░рд╣рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред

--module <something> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдФрд░ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЕрди-рдЗрдореНрдкреЛрд░реНрдЯреЗрдб рдШреЛрд╖рдгрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, (рдирд╛рдо рд╕реНрдерд╛рди рд╕рд╣рд┐рдд) рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ рд╣реА " --isolatedModules " рд╕реЗ рдкрд╣рд▓реЗ "рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ" рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ export {} рд╕рд╛рде рдЙрд╕реА рдХреЗ рдмрд╛рдж

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рдЕрднреА рднреА import / export --module none --isolatedModules , рдЬреЛ рдХрд┐ рднреНрд░рд╛рдордХ рд╣реИ, рд╕рдВрднрд╡рддрдГ рдмрдЧ?

рдПрдХ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ @DanielRosenwasser : "рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рд╛рдЗрд▓" рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ? рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдкрд╕рдВрдж рд╣реИред рд╢рд╛рдпрдж рдЕрдзрд┐рдХ "рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрдпрд╛рдд рдпрд╛ рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХреЗ рдлрд╛рдЗрд▓реЗрдВ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ '--isolatedModules' рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпрд╛рдВрдХрди рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ 'рдирд┐рд░реНрдпрд╛рдд {}' рдХрдерди рдЬреЛрдбрд╝реЗрдВред" - рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣рд╛рдБ рдХреА рднрд╛рд╖рд╛ рдмрд╣реБрдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢-y рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИред

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

Package.json
{
"plnkr": {
"рд░рдирдЯрд╛рдЗрдо": "рд╕рд┐рд╕реНрдЯрдо"
}
}

lib / script.js
//
// рдмреНрд▓реЗрдХ рдЬреЗрдХ
// рдзреАрд░рдЬ рдХреБрдорд╛рд░ рджреНрд╡рд╛рд░рд╛
//

card1 = "рд╣реБрдХреБрдо рдХрд╛ рдЗрдХреНрдХрд╛",
card2 = "рд╣рд░реНрдЯреНрд╕ рдХреЗ рджрд╕";

рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рд▓рд╛рдареА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!');

рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("рдЖрдк рдирд┐рдкрдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ:");
conosle.log ("" + card1);
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("" + рдХрд╛рд░реНрдб 2);

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдореИрдВ рдЕрдХреНрд╕рд░ рдЦреБрдж рдХреЛ рдЫреЛрдЯреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рддрд╛ рд╣реВрдВред

describe('jest', () => {
  it('finds this test', () => {
    expect(true).toBeTruthy();
  });

  it('parses this typescript', () => {
    const actual: number = 0;
    const expected: number = 0;
    expect(actual).toEqual(expected);
  });
});

export {
  // Use an empty export to please Babel's single file emit.
  // https://github.com/Microsoft/TypeScript/issues/15230
}

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ ES6 рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ .ts рдлрд╝рд╛рдЗрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЗрд╕рдореЗрдВ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдпрд╛ рдирд╣реАрдВред рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ --isolatedModules рд╡рд┐рдХрд▓реНрдк рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд-рдХрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЗрд╕ рдЕрддреНрдпрдВрдд рднреНрд░рд╛рдордХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред (рдореИрдВ рдЕрднреА рднреА рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред) рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдПрдХ .ts рдлрд╛рдЗрд▓ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдПрдХ рдЯреЙрдк-рд▓реЗрд╡рд▓ рд╡реИрд░рд┐рдПрдмрд▓ (рдЬрд┐рд╕рдореЗрдВ рджреЛрдиреЛрдВ рдХрд╛ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдиреЛрдб / рдкрд╛рд░реНрд╕рд▓ / рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЙрдиреНрд╣реЗрдВ ES6 рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд╛рдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рдлрд╛рдЗрд▓реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджреЗ рд╕рдХрддреА рд╣реИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ unexported рдЪрд░ред

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

рдХреНрд░рд┐рдПрдЯ-рд░рд┐рдПрдХреНрд╢рди рдРрдк 2.x рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ setupProxy.js рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

const proxy = require('http-proxy-middleware');
module.exports = function(app) { /* ... */ };

react-scripts рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ ts рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд╣рд░ рдкрдврд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╛рджреЗ js рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХрд╖реНрдЯрдкреНрд░рдж рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реИред

tsconfig.json рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди react-scripts рдореЗрдВ src рд╕рд╣рд┐рдд рд╕рднреА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, setupProxy.js ред рдирддреАрдЬрддрди, рдпрд╣ Cannot compile namespaces... setupProxy.js рдореЗрдВ

рд╕рдорд╛рдзрд╛рди: tsconfig.json рдореЗрдВ setupProxy.js рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ VS рдХреЛрдб рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рджрдмрд╛рдПрдВред

{
  // ...
  "exclude": ["src/setupProxy.js"]
}

react-scripts рдмрд▓реЛрдВ isolatedModules: true , рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ exclude ред

рд╡реИрдХрд▓реНрдкрд┐рдХ: 'setupProxy.js' рдореЗрдВ рдПрдХ рдирд╛рдорд┐рдд рдирд┐рд░реНрдпрд╛рдд рдЬреЛрдбрд╝реЗрдВ:

export const _ = '';

рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд╕рд╛рде, рдпрд╣ рдЕрдм --isolatedModules рдХреЗ рд╕рд╛рде рдорд╛рдиреНрдп рд╣реИред

рдмрд╣реБрдд рдмрд╛рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рдХреЙрдкреАрдкрд┐рдпрди (gulp.js рдЖрджрд┐) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рдзреНрдпрд╛рди рджреЗрдВ - рдпрджрд┐ рдЖрдк рдПрдХ create-react-app рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдореИрдВ рд╣реВрдБ ... рдореИрдВ рдЕрдкрдиреА tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдХреЗ рдЗрд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ ...ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рдирд╛

    "isolatedModules": true,

рд╕реЗрд╡рд╛

    "isolatedModules": false,

@UncleFifi рдФрд░ рдлрд┐рд░ рддреНрд░реБрдЯрд┐ рдЯрд╛рдЗрдк-рдЪреЗрдХ рд╕реЗ рдкрд╣рд▓реЗ рдХреИрд╡рд┐рдПрдЯ рджреЗрдЦреЗрдВ ред

@jtbennett рдЖрдк export {}; рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХреБрдЫ рднреА рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - export { name, localName as exportName }; рдХрд╛ рдкрддрд┐рдд рд░реВрдк

@UncleFifi рдФрд░ рдлрд┐рд░ рддреНрд░реБрдЯрд┐ рдЯрд╛рдЗрдк-рдЪреЗрдХ рд╕реЗ рдкрд╣рд▓реЗ рдХреИрд╡рд┐рдПрдЯ рджреЗрдЦреЗрдВ ред

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

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

рд╕рд╣реА рд╣реИ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ - рдпрд╣ рдзрд╛рдЧрд╛ рдкрдврд╝рддреЗ рд╣реБрдП рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рд╣реЛ рдЧрдпрд╛ рд╣реИ! рдЙрд╕ рдиреЗ рдХрд╣рд╛, CRA рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ --isolatedModules рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреИрдмрд▓ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕реАрдорд╛рдУрдВ рдХрд╛ рдмрд╛рд░реАрдХреА рд╕реЗ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИ (рдЪреВрдВрдХрд┐ рдмреИрдмреЗрд▓ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓реАрдХреЗрд╢рди рднреА рд╣реИ), рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдмрд╛рдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдЙрд╕ рдЧрд╛рд░реНрдб рдХреЛ рд╣рдЯрд╛ рд░рд╣реЗ рд╣реИрдВ рд░реЗрд▓ред

рддреЛ, рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ export {}; рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП Cannot compile namespaces when --isolatedModules flag is provided рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рд╣реИ?

рд╣рд╛рдВ, рдпрд╣ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред (рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ namespace рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рдФрд░ рд╕рдВрднрд╡рддрдГ рд╡реИрдз рдореБрджреНрджрд╛ рд╣реИред)

рдПрдХ рдлрд╝рд╛рдЗрд▓ "рдЦрд╛рд▓реА" рдлрд╝рд╛рдЗрд▓ (рдпрд╛рдиреА рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рдереА) рдХреЗ рдХрд╛рд░рдг рдмрд╕ рдЗрд╕ рд╕рдВрджреЗрд╢ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЯреАрдПрд╕ рдиреЗ рдЗрд╕реЗ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдмреЗрд╣рдж рдЕрдкрд╛рд░рджрд░реНрд╢реА рдерд╛ (рдФрд░ рд░рдВрдЧ рд╡реЗрдирд┐рд▓рд╛ рд╕реЗрдВрдЯреЛ 7 рдЗрдВрд╕реНрдЯрд╛ рдкрд░ рдЯреВрдЯ рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╡реЗрдмрдкреИрдХ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдЯреАрдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ)

screen shot 2019-02-06 at 14 20 14

_Edit: рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рддреАрди рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд┐рд░реНрдпрд╛рддреЛрдВ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдШреВрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА, рд▓реЗрдХрд┐рди рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рдореИрдВрдиреЗ рдХрд╣реАрдВ рдФрд░ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ред

рдпрд╣ рддреНрд░реБрдЯрд┐ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╣реБрдИ рдЬрд┐рд╕рдореЗрдВ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд┐рд░реНрдпрд╛рдд рд╣реИред

// Cannot compile namespaces:
export const foo = 'foo';

// Compiles fine
const foo = 'foo';
export { foo };

@ рдбреЗрдирд┐рд╕-рд╕реЛрдХреЛрд▓реЛрд╡ рд╕реНрдкрд╖реНрдЯ рд╕рд╡рд╛рд▓: рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдиреНрдп рд╕рд╛рдорд╛рди рднреА рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдирд╛рдорд╕реНрдерд╛рди?

рдЕрдЧрд░ рдпрд╣ рд╕рдЪрдореБрдЪ export const , рддреЛ рдореЗрд░рд╛ рджреВрд╕рд░рд╛ рдЕрдиреБрдорд╛рди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ ts-loader рдХреЗ рд╕рд╛рде webpack рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдкрд┐рдЫрд▓реЗ рдкрд╛рд╕ рдХреЗ рдмрд╛рдж рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП babel-loader) рдЬреЛ export рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдореИрдВ рдЕрдм рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, @simbuchan , рдЭреВрдареЗ рдЕрд▓рд╛рд░реНрдо рдХреЗ рд▓рд┐рдПред

рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ рдореБрдЭреЗ рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИред
рдЕрдиреНрдп рдлрд╛рдЗрд▓реЗрдВ рдареАрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИрдВ

screen shot 2019-02-18 at 12 49 07
screen shot 2019-02-18 at 12 48 34

рдореИрдВ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реВрдВ рдЬрд╣рд╛рдВ рдореИрдВ рд╕реАрдЖрд░рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдкреИрдХреЗрдЬ рдХрд╛ рдЖрдпрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ @types ред рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП declare module 'package' рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдХрдерди рдХреЛ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддрд╛ред рддреЛ рдореИрдВ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реВрдВ рдФрд░ types.ts declare module рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рд╡рд╣рд╛рдВ рдЬрдЧрд╣ рджреЗрддрд╛ рд╣реВрдВред рдЕрдм рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред

рдЬрдм рдореИрдВ isolatedModules рд╕реЗ false рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ CRA рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рд╡рд╣ рдХреЛрдИ рд╣рд▓ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдореИрдВ рдЬреЛрдбрд╝рдиреЗ export {} рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП types.ts рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ declare module , рдореИрдВ рд╡реГрджреНрдзрд┐ рдореЗрдВ рдЕрдорд╛рдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд╛рдо рдорд┐рд▓рддрд╛ isolatedModules рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ!

рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЧреЛрд▓рд╛рдХрд╛рд░ рд░рд╛рд╕реНрддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рдФрд░ рдкреАрдЫреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

@ рдПрдХ рдЕрдиреБрдорд╛рди рдкрд░, рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдЖрдпрд╛рдд рдпрд╛ рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИрдВ? рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ require()/module.exports рдФрд░ import/export рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЕрдиреНрдпрдерд╛, рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЖрдкрдХреА рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ tsconfig рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХреА рдЧрдИ рд╣реИрдВ (рдЙрд╕ рдкрд░ рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрд╕ рдЬрд╛рдВрдЪреЗрдВ)

@TomasHubelbauer рдореЙрдбреНрдпреВрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ .d.ts рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ CRA рд░реА-рдРрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдереАрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдерд╛, рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдмрджрд▓рд╛, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдЖрдЗрд╕реЛрд▓реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрдЧреНрд░рд╣рдкреВрд░реНрдг рд╣реИ?

@simonbuchan рдореИрдВрдиреЗ рдПрдХ .d.ts рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореИрдВ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдерд╛ред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реАрдЖрд░рдП рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЙрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред

@simonbuchan рдореИрдВ рд╣рд╛рде рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдКрдкрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ - рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ :(

@simonbuchan рд╣рдореНрдо рдареАрдХ рд╣реИ рддреЛ .d.ts рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рд╡рд╣рд╛рдВ рдореЙрдбреНрдпреВрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЙрди рдЯрдВрдХрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЙрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдЕрдиреНрдп рдЯрдВрдХрдгреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди import рдХреЛ .d.ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреНрдЮрд╛рди рдХреА рдХрдореА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрдм рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рдиреНрдпреВрдирддрдо рд░реЗрдкреНрд░реЛ рдХреЗрд╕ рд╣реИ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ @ рдиреЗрдХреНрд╕реНрдЯ (https://github.com/yang/sandbox-ts-namespaces-error рдкрд░ рдкреВрд░рд╛ рд░реЗрдкреЛ):

src / a.js: (рдиреЛрдЯрд┐рд╕, рдХреЛрдИ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рдЦреЛрдЬрд╢рдмреНрджреЛрдВ рдХреА рдЬрд░реВрд░рдд)

module.exports = "hello"; // you could really put anything here, e.g. console.log('hello');

tsconfig.js:

{
  "compilerOptions": {
    "allowJs": true,
    "isolatedModules": true,
    "noEmit": true,
    "strict": true
  },
  "include": ["src"]
}

рддреНрд░реБрдЯрд┐:

$ ./node_modules/.bin/tsc
src/a.js:1:1 - error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided.

1 module.exports = "hello";
  ~~~~~~


Found 1 error.

рдореИрдВрдиреЗ рднреА рдкрд╣рд▓реА рдмрд╛рд░ create-react-app --typescript рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛, рдЬреЛ рдЖрдкрдХреЛ setupProxy.js (рдпрд╛ setupTests.js) рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИред CRA рднреА isolatedModules рдФрд░ allowJs рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рддрдХ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ (рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ 3.1 рдХреЗ рджреМрд░рд╛рди рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп setupProxy.js рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рджреЗрдЦреАрдВред рдХреЗрд╡рд▓ 3.2.x рдпрд╛ 3.3.x рдкрд░ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж)ред

Tsc рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдиреЗ рдмрд╣рд┐рд╖реНрдХреГрдд рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб, рд▓реЗрдХрд┐рди - рдирд╛рд░рд╛рдЬрд╝рдЧреА рд╕реЗ - рдЖрдк рдЕрднреА рднреА рдЯреАрдПрд╕ рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛ рд╕реЗ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреА рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ (рд╡реАрдПрд╕ рдХреЛрдб рдФрд░ рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рджреЛрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА)ред (рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреАрдПрд╕ рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдореБрджреНрджрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдореИрдВ рдЙрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореМрдЬреВрджрд╛ рдореБрджреНрджрд╛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред) рд╕рдВрдкрд╛рджрдХреЛрдВ рдореЗрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдирд╛рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ .d.ts рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реАрдВред * .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛-рдЖрдИрдПрдирдЬреА рдпрд╛ рдЖрдпрд╛рдд-рдЖрдИрдПрдирдЬреА рднреА рдЕрдкреНрд░рднрд╛рд╡реА рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдЙрдард╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЖрдкрдХреЗ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдмрд╛рд╣рд░)ред

рдХреЗрд╡рд▓ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдХреНрдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд╕реБрдЭрд╛рд╡) рдХреЗ рдЦрд┐рд▓рд╛рдл рдЕрдиреБрдорддрд┐ред

рдореБрдЭреЗ рдЕрдкрдиреЗ рд╡реЗрдм рд╡рд░реНрдХрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд░рд╣рддреА рд╣реИред

рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕ рдЕрд▓рдЧ-рдерд▓рдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, CRA tsconfig.json рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИред

рдХреЛрдИ рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡?

@jamespfarrell рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ export {}; рдХрд╣реАрдВ рднреА рд░рдЦреЗрдВред

@ рдореИрд╕рд┐рд▓ рдЖрдкрдХреА рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

рдЖрдпрд╛рдд рдХреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреНрд░рдпрд╛рд╕: './workers/HeartBeat.worker.js' рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдпрд╛рдд ('рд╣рд╛рд░реНрдЯрдмреАрдЯрд╡рд░реНрдХрд░' рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд) рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ:

export default {};

рдореБрдЭреЗ рдорд┐рд▓рд╛:

рдмрд┐рдирд╛ рдкрдврд╝рд╛ рд╣реБрдЖ рдЯрд╛рдЗрдкError: _workers_HeartBeat_worker_js__WEBPACK_IMPORTED_MODULE_2 __ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛрдИ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИред

рд╡рд╣рд╛рдБ рдмрд╕ рдПрдХ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ рдЗрд╕ 'рдЕрд▓рдЧ-рдЕрд▓рдЧ' рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП?

рдЕрдм рдЖрдк рдЬреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рдЕрд▓рдЧ-рдерд▓рдЧ рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ-рдерд▓рдЧ рд╣реЛ рдЧрдП рд╣реИрдВ, рддреЛ рднреА рдЖрдкрдХреЛ рд╡реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рдЬрд╛рдПрдВрдЧреАред

рдЖрдпрд╛рдд рдХреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреНрд░рдпрд╛рд╕: './workers/HeartBeat.worker.js' рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдпрд╛рдд ('рд╣рд╛рд░реНрдЯрдмреАрдЯрд╡рд░реНрдХрд░' рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд) рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рддреНрд░реБрдЯрд┐ рдХрд╣рд╛рдВ рд╣реЛ рд░рд╣реА рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ import Foo from './workers/HeartBeat.worker.js'; ред рдпрджрд┐ рдЖрдк рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдпрд╛рдд рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреА рдЖрдпрд╛рдд рд▓рд╛рдЗрди рдХреЛ import './workers/HeartBeat.worker.js'; рдмрджрд▓реЗрдВред

рддреБрдо рд╕рд╣реА рд╣реЛ рдпрд╣ рдХреБрдЫ рдФрд░ рдерд╛ @ рдореИрд╕рд┐рд▓ ! рдзрдиреНрдпрд╡рд╛рдж!

_Maybe рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛: _ рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдереА рдЬреЛ рдореИрдВрдиреЗ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЕрд░реНрдерд╛рддред рдореЗрд░реЗ рдкрд╛рд╕ рдЦрд╛рд▓реА рд╕реНрдЯрд╛рдЗрд▓ рдереАред рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓ рдЬреЛ рдПрдХ рдЕрдиреНрдп рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдпрд╛рдд рдХреА рдЧрдИ рдереАред

рдмрд╕ рдЬреЛрдбрд╝ рджреЛ
image

рдореИрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╣реИ рдХрд┐ рдореИрдВ рдЧрд▓рддреА рд╕реЗ рдкреНрд░рддреНрдпрдп рдерд╛ .ts рдХреЗ рдмрдЬрд╛рдп .d.ts , рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдЧрд▓рддреА рдХрд░ рд░рд╣рд╛ рд╣реИред рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╡рд╣реА рддреНрд░реБрдЯрд┐ред рдореИрдВ CRA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

CRA рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ред рдореИрдВ рдмрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреБрдЫ рднреА рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛:
╨б╨╜╨╕╨╝╨╛╨║ ╤Н╨║╤А╨░╨╜╨░ ╨╛╤В 2019-04-22 22-24-04

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ .js рдлрд╝рд╛рдЗрд▓ рдереА, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдерд╛:

"compilerOptions": {
    ....
  },
  "include": ["src"],

рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛:

"compilerOptions": {
    ....
  },
  "include": ["src/*"],

рдпрд╣ рддрдп рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореЗрд░реА рд╕рдордЭ рдпрд╣ рдереА рдХрд┐ src рдЬрдбрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рднрд╛рдИ-рдмрд╣рдиреЛрдВ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЦрддреНрдо рдХрд░ рджреЗрдВрдЧреЗред

@thitemple рдЖрдкрдХреЛ рдХрд╣реАрдВ рдПрдХ рд▓реЗрдЦ рд╕реЗ рд╡рд╣ / * рд╕реНрдирд┐рдкреЗрдЯ рдорд┐рд▓рд╛? рд╡реЗрдмрдкреИрдХ рдореИрдиреБрдЕрд▓ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓рд╛ рд╡рд╛рд▓рд╛ рд╕рд╣реА рд╣реИред рдореИрдВ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рджрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдпрд╛ рд╣реВрдВред

@ vort3xxx рдореИрдВрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рджреЗрдЦрд╛ https://github.com/microsoft/TypeScript/issues/15230#issuecomment -+рекрен,репрен,рейреж,репрекрен @DaviSpindola рд╕реЗ рдФрд░ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреАред рд╡рд╣ рдпрд╣ рдерд╛

@ vort3xxx рдореИрдВрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ @DaviSpindola рдХреА рдЗрд╕ рдкреЛрд╕реНрдЯ рджреЗрдЦрд╛ рдФрд░ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдпрд╛ред рд╡рд╣ рдпрд╣ рдерд╛

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛, рд╡рд╣реА рд╕рдорд╛рдзрд╛рдиред рдЯреАрдПрд╕ 3.5.2ред

@ThomasdenH

@simonbuchan рдореИрдВрдиреЗ рдПрдХ .d.ts рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореИрдВ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдерд╛ред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реАрдЖрд░рдП рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЙрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред

рдареАрдХ рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП? .ts рдпрд╛ .d.ts рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдХреНрд░рд┐рдПрдЯ рд░рд┐рдПрдХреНрд╢рди рдРрдк рдХреЗ рдЕрдВрджрд░ рдХрд░рдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ All files must be modules when the '--isolatedModules рдлреНрд▓реИрдЧ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рдлреНрд▓реИрдЧ рдХреЛ false рдпрд╛ isolatedModules рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдРрдк рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ true рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рддрд▓ рдкрд░ export {} рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ: Invalid module name in augmentation. Module '...' resolves to an untyped module at '...' ред

рдХреГрдкрдпрд╛ рдХреЛрдИ рдорджрдж рдХрд░реЗрдВред рдореИрдВ рдХрд╕реНрдЯрдо рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рд░рд┐рдПрдХреНрд╢рди рдРрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЬреЛрдбрд╝реВрдБ?

рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдмрд╕ рдЗрд╕реЗ рд╕рдордЭ рд▓реЗрдВред рдЬрдм рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ react-app-env.d.ts рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдШреЛрд╖рдгрд╛ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

fwanicka picture fwanicka  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kyasbal-1994 picture kyasbal-1994  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dlaberge picture dlaberge  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

remojansen picture remojansen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jbondc picture jbondc  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ