Jest: RequJS рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдордИ 2014  ┬╖  84рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/jest

рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЙрдордирдЬреЗрдПрд╕ рд╢реИрд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ () рдХреЗ рдмрдЬрд╛рдп RequJS рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ RequJS рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рднреА рд╣реИ?

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

рдмреИрдмреЗрд▓-рдкреНрд▓рдЧрдЗрди-рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо-рдПрдПрдордбреА-рдЯреВ-рдХреЙрдордирдЬ рдЬреЗрд╕реНрдЯ+рдПрдПрдордбреА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА

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

рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреЗрд╕реНрдЯ/рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЬреЗрдПрд╕/рд╡реЗрдмрдкреИрдХ/рдЖрджрд┐ рдХреЗ рдмреАрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди-рд╕рд╛рдЭрд╛рдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдгред .js рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕реНрдЯ рд╕рдорд░реНрдерди рдЕрдзрд┐рдХ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо рд╣реЛрдЧрд╛ (рджреЗрдЦреЗрдВ https://github.com/facebook/jest/issues/2140)ред

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

++

рдпрд╣ рдЬреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╕рд┐рд╕реНрдЯрдо рдРрдб-рдСрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд░реЛрдбрдореИрдк рдкрд░ рд╣реИ (рдЬреИрд╕реЗ requ.js, es6 рдореЙрдбреНрдпреВрд▓, рдЖрджрд┐), рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рдо рдЕрднреА рддрдХ рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИрдВред

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

@jeffmo webpack commonjs / ES6 / AMD рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЗрд╕реНрдЯ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рд╢рд╛рдпрдж рд╡рд╣ рд╕рдм рд╕рд╛рдорд╛рди рдореБрдлреНрдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

++

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝реЗ рд╕рдВрдЧрдарди рдореЗрдВ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдФрд░ рд╣рдо рдордЬрд╛рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдо 100% рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реИрдВред Requjs рдПрдХреАрдХрд░рдг рдкрд░ рдХреЛрдИ рдИрдЯрд╛?

++

рдореИрдВ рдЬреЗрд╕реНрдЯ рдХреЛ рднреА рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЬрд┐рд╕ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ RequJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

:+1:

рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ рд╢рд┐рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ рдЖрдЬрдорд╛рдпрд╛ рд╣реИ?

https://github.com/Jakobo/redefine

_рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░реНрдп_ред рдореИрдВрдиреЗ рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реЗрдкреЛ рдореЗрдВ рдиреЛрдбрдлреА рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╕рд╛ рдирд┐рд░реНрдорд╛рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬреЛ рдЪрд╛рд▓ рдХреЛ рд╕реНрдЯреЙрдк-рдЧреИрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рд╕рдВрдХреБрд▓ рдХреЗ рдЕрдВрддрд░реНрдЧрдд scripts.cjs рджреЗрдЦреЗрдВред

рд▓рд┐рдЯрдорд╕ рдкрд░реАрдХреНрд╖рдг: рдЖрдкрдХрд╛ AMD рдореЙрдбреНрдпреВрд▓ рдЙрдкрдирд╛рдо node_modules рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ ред рдпрджрд┐ рд▓рд┐рдЯрдорд╕ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╣рддрд╛рд╢ рд╣реИрдВ, рддреЛ рдЖрдк рд╢реБрджреНрдз AMD рдореЙрдбреНрдпреВрд▓ рдХреЛ рдиреЛрдбрд┐рдлрд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░/рдпрд╛ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдореЗрдВ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдореБрдЭреЗ рджреБрдЦреА рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдХреНрд╕рдЯрд░реНрдирд▓ UMD рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ npm рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ AMD рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдирд╛рдореЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ - рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВред

(рдореИрдВрдиреЗ nodefy рд╕реЗ рдкрд╣рд▓реЗ uRequire рдХреА рдЬрд╛рдБрдЪ рдХреА, рд▓реЗрдХрд┐рди CommonJS рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдиреЛрдбрдлреА рдХреЗ рд╕рдордХрдХреНрд╖ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ - рдореИрдВ рд▓рдХреНрд╖рд┐рдд рдЙрдкрдХрд░рдг рд▓реВрдВрдЧрд╛ред рдореИрдВрдиреЗ amdefine рдХреА рднреА рдЬрд╛рдБрдЪ рдХреА, рд▓реЗрдХрд┐рди рдЬреЗрд╕реНрдЯ 'рдЖрд╡рд╢реНрдпрдХрддрд╛' рдкрд░ рд░реЗрдЧреЗрдХреНрд╕ рдорд┐рд▓рд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рд╢рд╛рдпрдж рдПрдХ рдЕрдирд╛рдо AMD рд╣реИ рдХреЛрдг? рд╣рдореЗрд╢рд╛ рдпреВрдПрдордбреА рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдЦрд░реЗ рд╣реБрдП document рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд╕рд╛рде рдпреВрдПрдордбреА рдХреЛ рдХреЛрдб рдХрд░рдирд╛ рдЦрд░рд╛рдм рд╢рд┐рд╖реНрдЯрд╛рдЪрд╛рд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред)

+1

++

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

рдХреНрдпрд╛ рдЕрднреА рддрдХ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрд╛рдп рд╣реИ? рдореИрдВ рдЬрд┐рд╕ рдореБрдЦреНрдп рдореБрджреНрджреЗ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдмрдпрд╛рди рд╣реИ рдЬреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдШрдЯрдХреЛрдВ рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИред

+1

@petehunt рдиреЗ рдореБрдЭреЗ

+1

рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХреЗ рд╕рд╛рде рдЬреИрд╕реНрдореАрди/рд╡реЗрдмрдкреИрдХ рдпрд╛ рдЬреЗрд╕реНрдЯ/рд╡реЗрдмрдкреИрдХ рдЪрд▓ рд░рд╣реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

++

рд╣рдо requjs рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрдм рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

+1

+1

+1

+1

+1

+1

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА рдХреЗ рдмрдЬрд╛рдп рдореЙрдбреНрдпреВрд▓.рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЕрдВрдЧреВрдареЗ:

// preprocessor.js
var ReactTools = require('react-tools');
module.exports = {
  process: function(src) {
    if (/define\(.*?\{/.test(src)) {
      //Remove AMD ceremony for use without require.js or almond.js
      src = src.replace(/define\(.*?\{/, '')
        .replace(/(}\);|}\))$/,'');
    }

    return ReactTools.transform(src);
  }
};

++

+1

+1

RequJS рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1

+1

@charliedowler рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ

if (typeof(module) == 'object' && module.exports) { module.exports = <my_element>;  }

рдлрд┐рд░ рднреА, рдореИрдВ return рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкреНрд░реА-рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдПрдХ рдкрд╛рд░реНрд╕рд░ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдкрд┐рдЫрд▓реЗ рд░рд┐рдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдЧреЗрдХреНрд╕ рдХреЛ рдмрдврд╝рд╛рдХрд░ рджреВрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ "рдЕрд╡реИрдз рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ" рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд░рд╣рддреА рд╣реИред рд╢рд╛рдпрдж рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕реЗ рдкрдХрдбрд╝ рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИред

if (/define\(.*?\{/.test(src)) {
  src = src.replace(/(define\(.*?\{|return.*[\s]}\);?$)/g,'');  
}

рдХреНрдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдЯрдбрдЖрдЙрдЯ рдореЗрдВ src рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдореБрдЭреЗ рдпрд╣ рд╕рдм рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред рдЖрдк рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓ рд░рд╣реЗ рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рддрд░рд╣?

+1

рдЖрд╣! рдореИрдВ рд╕рд╛рде рдЦреЗрд▓ рд░рд╣рд╛ рдерд╛ (рдФрд░ рдмрд╣реБрдд рдордЬрд╝рд╛ рдЖ рд░рд╣рд╛ рдерд╛)ред рдЖрдЬ рдЗрд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рдЬреЗрдПрд╕ рд╕рдорд░реНрдерди: рд╕реЛрдм: ... рд╕рднреА рдореМрдЬреВрджрд╛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбреАрд▓ рдмреНрд░реЗрдХрд░ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреБрдЦрджред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд░реЛрдорд╛рдВрдЪрдХ рд╡рд┐рдЪрд╛рд░ рдерд╛!

:+1:

+1

+1

:+1:

:рдердореНрд╕ рдЕрдк:

:+1:

:+1:

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдПрдПрдордбреА рдореЙрдбреНрдпреВрд▓ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЛрдбрд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред https://github.com/ninjapanzer/Backbone-Flux-React-Webpack

:+1:

+1

+1

+1

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

+1

@ рдлреЗрд╕рдмреБрдХ-рдЬреАрдердм-рдмреЙрдЯ -4 рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдХрд░реЗрдВ!

+1

+1

++

рдореИрдВ рдЬреЗрд╕реНрдЯрдкреИрдХ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛

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

рдореИрдВ jest-requirejs рдкрд░ рднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рдорд╛рдирдХ рдЬреЗрд╕реНрдЯ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ main.js рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ deamdify , рдЬреЛ define рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ

рдЕрднреА рднреА рдкреНрд▓рдЧрдЗрди/рд▓реЛрдбрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ jest.dontMock("") , jest.setMock("") рдФрд░ require.requireActual("") рдкрдереЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ред

рд╣реЗрд▓реЛ рджреЛрд╕реНрддреЛрдВ рдпреЗ рд╡рд╛рдХрдИ рдХрдорд╛рд▓ рд╣реИред рдореБрдЭреЗ рдЬреЗрд╕реНрдЯрдкреИрдХ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ рдФрд░ рдореИрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЕрдВрдд рдореЗрдВ рдореИрдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЧреЗрдЯрд┐рдВрдЧ рд╕реНрдЯрд╛рд░реНрдЯреЗрдб рдЧрд╛рдЗрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЗрд╕реНрдЯрдкреИрдХ рдЬреИрд╕реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЬреЛ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рд╣реИ :))ред @richardscarrott рдФрд░ @sterpe рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреБрдЫ рдЪрд╛рд╣рд┐рдПред

рд╕рд╛рде рд╣реА cc @mwolson рдФрд░ @ColCh

(рдмрд╛рдХреА рд╕рднреА рдХреЗ рд▓рд┐рдП: рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЕрдкрд╡реЛрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ, рдпрд╣ рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдордЬрд╛рдХ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВред рдХреЛрдб рддрд░реНрдХ рдЬреАрддрддрд╛ рд╣реИ! рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рдХреЗрд╡рд▓ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕рдореБрджрд╛рдп рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ _рд╕рднреА рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░_ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рдЬреЛ рд╕реНрд╡рдпрдВ рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рд╣реИрдВред)

рдЬреЗрд╕реНрдЯрдкреИрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдкреНрд░рддрд┐ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реВрдВред https://github.com/Ticketmaster/jest-webpack-alias рдХреБрдЫ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА рдХреАрдордд рдкрд░, рдФрд░ рд╡реЗрдмрдкреИрдХ рдХреЗ рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╕рдВрднрд╛рд╡рд┐рдд рдЕрднреА рддрдХ-рдЕрдирджреЗрдЦреЗ рдмрдЧреНрд╕ рдХреА рдХреАрдордд рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА: рдЖрд░рдВрдн рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдпрдж рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ, рддреЛ рдпрд╣ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рд░рди рдХреЛ рдХрд╛рдлреА рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдХреИрд╢ рдХреБрдВрдЬреА рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИ рддреЛ рдЬреЗрд╕реНрдЯ рдЖрдкрдХреЗ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдЪрд▓рд╛рдПрдЧрд╛ред

рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓рд╛ рд░рди рднреА рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рд▓рдЧрднрдЧ ~ 10 рд╕реЗрдХрдВрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред

рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдпрд╣ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИред FB рдкрд░ рдкрд╣рд▓рд╛ рд░рди рдмрд╛рдж рдХреЗ рд░рдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рджреЛрдЧреБрдирд╛ рд╕рдордп рд▓реЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рдирд╣реАрдВ рджрд┐рдЦрддрд╛ - рд╣рдо FB рдкрд░ рдмреЗрдмреЗрд▓ рдФрд░ рдЕрдиреНрдп рдХрд╕реНрдЯрдо рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ; рд╣рдо рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмрд┐рдирд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ :)

рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреИрд╢рд┐рдВрдЧ рд░рд┐рдХреНрд╡рд╛рдпрд░рдЬ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдХрд╛рдЯ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрднреА рднреА рдЬреЗрд╕реНрдЯ @ 0.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛

рдЗрд╕реЗ 0.5 рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП!

рджреЗрд╡-рд╡реЙрдЪ рдореЛрдб рдореЗрдВ рд╡реЗрдмрдкреИрдХ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред

рдЪреВрдВрдХрд┐:

  1. рд╡реЗрдмрдкреИрдХ рдЙрдирдХреЗ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ (рдмрд┐рдирд╛ рд░реАрд▓реЛрдб рдХреЗ)
  2. рд╕рдВрдХрд▓рд┐рдд рд╕реНрд░реЛрдд рдХреЛрдб рд╕реНрдореГрддрд┐ рдореЗрдВ рднреА рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИред

рддреЛ, рдореЗрд░реЗ рдЬреЗрд╕реНрдЯ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ (2) рдмрд┐рдВрджреБ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред

рд╕реНрдореГрддрд┐ рдПрдлрдПрд╕ рдореЗрдВ, рд╕рдВрдХрд▓рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рд┐рд░реНрдл рд╕реНрдореГрддрд┐ рдореЗрдВ рдЬреЗрд╕реНрдЯ рдФрд░ Webpack рдХреНрд░рдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕реНрдореГрддрд┐ рдПрдлрдПрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдкрд░ рдЕрдорд▓ - рдЫреЛрдЯрд╛ рдореЗрдВ, рдПрдХ рдкреИрдХреЗрдЬ (Jestpack, рд╕рд╣реА рд╣реИ ...) рдЬреЗрд╕реНрдЯ рдФрд░ Webpack рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рд╕рднреА рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣реА рдореЗрд░рд╛ рдирдЬрд░рд┐рдпрд╛ рд╣реИ...

рд▓реЗрдХрд┐рди рдЕрдм рд╣рдореЗрдВ рдПрдХ рдФрд░ рдкрд░реЗрд╢рд╛рдиреА рд╣реИ: рдореЗрдореЛрд░реА FS рдХреЛ рдЕрднреА Jest рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

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

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

@cpojer рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдЕрдВрддрддрдГ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рдЗрд░рд╛рджрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдХрд▓реНрдк рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЬреЗрд╕реНрдЯрдкреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреИрдм рджреВрдВрдЧрд╛ред рдПрдХрдорд╛рддреНрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛, рд╡рд╣ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдореЛрдХреНрд╕ рдХреА рдЦреЛрдЬ рдХреЗ рддрд░реНрдХ рдХреЛ рд╕рдордЭ рд░рд╣рд╛ рдерд╛ https://github.com/facebook/jest/issues/509 , рдореИрдВ рдмрд╕ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЬрд╛ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк ' рдЙрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕реНрдЯрдкреИрдХ рдХреЗ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдХреЛ HasteModuleLoader рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

@mwolson рдЬреЗрд╕реНрдЯрдкреИрдХ рдкреНрд░рддрд┐ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЬреЗрд╕реНрдЯ рдХреА рдмрд╣реБ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИред

moduleLoader рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред

++

рд╣рдо рднреА рдпрд╣реА рдЪрд╛рд╣реЗрдВрдЧреЗред рдЬреЗрд╕реНрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдПрдХ рднрдпрд╛рдирдХ рдЯреБрдХрдбрд╝реЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдХрд┐рд╕реА RequJS рд╕рдорд░реНрдерди рдХреЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ, рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ред

+1

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

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдореБрджрд╛рдп рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдорд╛рдирдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рд╕рдВрд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдЬреЗрдПрд╕ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рднрд╡рд┐рд╖реНрдп рд╣реИред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ES2015 рдореЗрдВ рдПрдХ рдорд╛рдирдХреАрдХреГрдд рдореЙрдбреНрдпреВрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдмреИрдмреЗрд▓ рдФрд░ рдЬреЗрд╕реНрдЯ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХреАрдХреГрдд рд╣реИрдВ рдФрд░ рдПрдХ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдХрд┐рд╕реА рдХреЛ рднреА рдХреЙрдордирдЬреЗрдПрд╕ рдпрд╛ рдИрдПрд╕2015 рдореЙрдбреНрдпреВрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛, рдЬреЛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЯреВрд▓рд┐рдВрдЧ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдПрдЧрд╛ред

рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЬреЗрдПрд╕ рдХреЗ рдкрд╛рд╕ рдХреЙрдордирдЬреЗрдПрд╕ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛.рдЬреЗрдПрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рднреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рджреЗрдЦреЗрдВ: http://requirejs.org/docs/commonjs.html

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

@cpojer рдореИрдВ рдпрд╣рд╛рдВ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╣рдж рддрдХ рд╕рдлрд▓ рд░рд╣рд╛ рдерд╛ https://github.com/sterpe/jest-requirejs/blob/master/index.js рд▓реЗрдХрд┐рди рдЕрдм рддрдХ рдХреЗрд╡рд▓ !text/ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред рд╣рдорд╛рд░реА рдЯреАрдо requjs рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯ рдЧрдИ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдЙрд╕ рд░рд╛рд╕реНрддреЗ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдореБрдЭреЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП RequJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдореВрд▓реНрдп рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдХреЙрдордирдЬреЗрдПрд╕/рдИрдПрд╕2015 рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╢реИрд▓реА рдХреЗ рд╕рд╛рде рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА RequJS рд╕реЗ рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд┐рдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ 300 рд╕реЗ рдЕрдзрд┐рдХ рдШрдЯрдХ рд╣реИрдВред рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рдФрд░ рджрд░реНрдж рд░рд╣рд┐рдд рдереАред

рдПрдПрдордбреА рд╕реЗ рдХреЙрдордирдЬреЗрдПрд╕ рд╢реИрд▓реА рдореЗрдВ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЬрд┐рд╕ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ https://github.com/Skookum/recast-to-cjs рдерд╛ред

рд╕рд╛рде рд╣реА https://github.com/facebook/jscodeshift рдХреА рдорджрдж рд╕реЗ, рд╣рдордиреЗ рдХреБрдЫ рд╣реА рджрд┐рдиреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдмреЗрд╕ рдХреЛ рд░рд┐рдПрдХреНрдЯ 0.11 рд╕реЗ 0.14 рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рджрд┐рдпрд╛ред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@рдЯреЗрдВрдбреЗрдВрдЯ рдЕрдЪреНрдЫрд╛! рдареАрдХ рдпрд╣реА рдореИрдВ рдкрд╣рд▓реЗ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛ :) рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХрд╛рдо рд╣реИ:
https://github.com/1twitif/testRequireJSAmdModulesWithJest
рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
http://stackoverflow.com/questions/33889662/not-able-to-load-amd-modules-through-jest

рдЪреВрдВрдХрд┐ рдпрд╣ рдмрдВрдж рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдлреЗрд╕рдмреБрдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдирд╣реАрдВ рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

рдЕрдЧрд░ рдлреЗрд╕рдмреБрдХ рд╕реЗ рдЖрдкрдХрд╛ рдорддрд▓рдм рдореБрдЭрд╕реЗ рд╣реИ, рддреЛ рд╣рд╛рдБ, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдЬреЗрд╕реНрдЯ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдФрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ рдЗрди рджрд┐рдиреЛрдВ ES рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдХреЙрдордирдЬреЗрдПрд╕ рдкрд░ рдЪрд▓реЗ рдЧрдП рд╣реИрдВред

рд╣рд╛рдБ рдореБрдЭреЗ рдкрддрд╛ рд╣реЗред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЗрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рд╕реЗ рджреВрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╣реИред

рдмреИрдмреЗрд▓-рдкреНрд▓рдЧрдЗрди-рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо-рдПрдПрдордбреА-рдЯреВ-рдХреЙрдордирдЬ рдЬреЗрд╕реНрдЯ+рдПрдПрдордбреА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА

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

рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреЗрд╕реНрдЯ/рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЬреЗрдПрд╕/рд╡реЗрдмрдкреИрдХ/рдЖрджрд┐ рдХреЗ рдмреАрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди-рд╕рд╛рдЭрд╛рдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдгред .js рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕реНрдЯ рд╕рдорд░реНрдерди рдЕрдзрд┐рдХ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо рд╣реЛрдЧрд╛ (рджреЗрдЦреЗрдВ https://github.com/facebook/jest/issues/2140)ред

@msrose рдпрд╣ рдХрдорд╛рд▓ рд╣реИред рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдкреБрд░рд╛рдирд╛ рдорд╛рдорд▓рд╛ рд╣реИред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

exports.process = function (content) {
  return 'function define(name, deps, body) { module.exports = body.apply(undefined, deps.map(require)); }' + content;
}

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ AMD -> CJS рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, deamdify , рдЗрдВрдЬреЗрдХреНрдЯреЗрдб рд░реИрдкрд░, рдЖрджрд┐ред рд╕рдорд╕реНрдпрд╛, рдЕрднреА рднреА рдЕрдирд╕реБрд▓рдЭреА рд╣реИ, рдЖрд╡рд╢реНрдпрдХрддрд╛-рд╢реИрд▓реА рд▓реЛрдбрд░/рдкреНрд▓рдЧрдЗрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИред рд╡рд╣ рд╕рд╛рдорд╛рди рд╣реИ рдЬреИрд╕реЗ fooTemplate = require('tpl!foo.tpl') рдФрд░ barJson = require('json!bar.json') (рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ)ред рд▓реЗрдХрд┐рди рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдереЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ require-js рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдЕрдЯреЗ рдкрдбрд╝реЗ рд╣реИрдВред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореМрдЬреВрджрд╛ require-js рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реАрдзреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдерд╛ рдЬреЛ рдЕрдВрддрддрдГ jest | рдХреЗ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдореЗрдВ рдлреАрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

+1

ReferenceError: define is not defined

+1

рд╡рд┐рдлрд▓ srcApp.test.js
рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдЪрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛

ReferenceError: define is not defined

рдЖрдкрдХреЛ amd рдХреЗ рдмрдЬрд╛рдп umd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд░реВрдкрд╛рдВрддрд░рдг рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмреЗрдмреЗрд▓ рдкреНрд▓рдЧрдЗрди)ред

рдЬрдм loader! рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ (рд╣рдо рд╡реЗрдмрдкреИрдХ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рдЖрдпрд╛рдд рдХреЛ рдмрджрд▓рдиреЗ (рд▓реЛрдбрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ) рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рд╣реИ рдФрд░ рдЬреЗрд╕реНрдЯ рдХреЛ рдЕрдкрдиреЗ transform рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрджрд▓рдиреЗ рджреЗрдВред рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реНрдЪрд╛: #4868

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

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

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

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

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

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

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