
рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рднреА рдмрдбрд╝реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдк рддреБрд░рдВрдд рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдХреЛрдб рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдлреИрд▓рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рддрд╛рдХрд┐ рдЗрди рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдмрдбрд╝реА рдЙрддреНрдкрд╛рджрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХреЗред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдЖрдк рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рджреВрд░, рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЬрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреВрд░реЗ рд╡рд┐рдХрд╕рд┐рдд рддрдВрддреНрд░ рдПрдХ рдмреИрд╕рд╛рдЦреА рдХреА рддрд░рд╣ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдпрд╣ рдкреНрд░реЗрд░рдгрд╛ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рдпрд╣ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдореМрдЬреВрдж рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕реЗрдВрдмрд▓реА рдХрдВрдЯреНрд░реЛрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рдордиреЗ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
- рдХреЙрдлрд╝реНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдиред рдпрджрд┐ рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдФрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рд░реВрдкреЛрдВ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдХрдо рд╕реЗ рдХрдо)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрд╡реЗрджрди рдореЗрдВ рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
- рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ (рд╣рд╛рдБ, рд╣рдо рд╡реЗрдм рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдорд╛рдЙрд╕ рдХреЛ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдо рд╕реЗ рдмрд╛рд╣рд░ рдХреНрд░реЙрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред
- рдмреЗрд╢рдХ, рдпрд╣ рд╕рдм рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рд░реЗрдХ рдФрд░ рд░реЗрдХ :: рдкрд╛рдЗрдкрд▓рд╛рдЗрди (
git ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рддрд╛рдмреВрдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА (рдФрд░ рд╕реНрд╡рдпрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛) рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рд░реЗрдХ :: рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдПрдХ рдлрд╛рдЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рд╡рд╣ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ рдлрд╛рдЗрд▓реЗрдВ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ, рджрд┐рдП рдЧрдП рдирд┐рдпрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╛рдЗрд▓ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд░реЗрдХ :: рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд░реЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдмреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рднреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрдорддреМрд░ рдкрд░ рдПрд╕реЗрдЯрдлрд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдПрдХ рд░реВрдмреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред рдпрд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдирд╛рдордХ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ 3 рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреА: "file1.cfish", "file2.cfish", "file3.cfish"ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
-рдЖрд╡реЗрджрди
--src
---file1.coffee
---file2.coffee
---file3.coffee
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВ:
2nd, 1st рдФрд░ 3rd рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
1 рдкрд░ 3 рдирд┐рд░реНрднрд░ рд╣реИ
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрдХрдЯреНрдареЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рдо рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: 1-3-2ред
рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ "main.cfish" рдмрдирд╛рдПрдБред рдЗрд╕рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрдЧреАред рдЕрдм рдЖрдк рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рднрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд╡рд╢реНрдпрдХрддрд╛ ("рдлрд╝рд╛рдЗрд▓ 1") рдПрдХ рдЫрджреНрдо рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрдЬрд╛рдп ("рдлрд╝рд╛рдЗрд▓ 1") рдЖрдкрдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ:
! , , file1. , .
рдпрд╣реА рд╣реИ, рдлрд╝рд╛рдЗрд▓ рдХрдиреЗрдХреНрд╢рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдПред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪреВрдВрдХрд┐ рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рдФрд░ рддреАрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдореБрдЦреНрдп рдлрд╝реЙрдлрд╝реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд▓рд╛рдЗрди рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ: рдЖрд╡рд╢реНрдпрдХрддрд╛ ("рдлрд╝рд╛рдЗрд▓ 2")ред рд╢реЗрд╖ рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрдиреЗ рдЖрдк рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рд╣рдордиреЗ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рдпрд╣ рд╕рдм рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрдбрд╝ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЬреЗрдордлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ:
рдпрд╣рд╛рдВ рд░реЗрдХ-рдкрд╛рдЗрдкрд▓рд╛рдЗрди-рд╡реЗрдм-рдлрд┐рд▓реНрдЯрд░ рдПрдХ рд╕рд╣рд╛рдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЗрд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХреЙрдлрд╝-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред uglifier рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред
рдЕрдм рдПрдХ Rakefile рдмрдирд╛рдПрдБ:
рдпрд╣рд╛рдВ рд░реЗрдХ :: рдкрд╛рдЗрдкрд▓рд╛рдЗрди :: Project.new ("рдПрд╕реЗрдЯрдлрд╛рдЗрд▓") - рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, "рдПрд╕реЗрдЯрдлрд╛рдЗрд▓" рдПрдХ рдлрд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЗрд╕реЗ рдмрдирд╛рдПрдВрдЧреЗред
рддреБрд░рдВрдд рдЖрдк рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдорд╛рд░реНрдЧ "рд▓рдХреНрд╖реНрдп" рд╣реЛрдЧрд╛:
рд╣рдо 2 рдЪрд░рдгреЛрдВ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХрд░реЗрдВрдЧреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рднреА рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрд╡рдпрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рди
рд╣рдо "рд▓рдХреНрд╖реНрдп / src" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ .coffe рдХреА рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреА .js (рдЕрд░реНрдерд╛рдд, рд╣рдо рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд░реНрдЬ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ)ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдПрд╕реЗрдЯрдлрд╛рдЗрд▓" рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВред
рдЕрдм рдпрджрд┐ рдЖрдк рд░реЗрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд╕реНрдХрд░рдг "рд▓рдХреНрд╖реНрдп / src / lib" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрджрд┐ рдХрд┐рд╕реА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдБ
рдЗрд╕ рдмрд╛рд░ рд╣рдо 'src / lib' рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗ:
рдЕрдм рдпрджрд┐ рдЖрдк рд░реЗрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ 'application.js' рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ 'src' рдореЗрдВ рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
# application.js (function() { var file1; file1 = true; }).call(this); (function() { var file3; file3 = true; }).call(this); (function() { require("file2"); }).call(this);
рд▓реЗрдХрд┐рди рдПрдХ рдкрд▓ рд░реБрдХрд┐рдП! рдпрд╣рд╛рдВ рд▓рд╛рдЗрди рдХреНрдпрд╛ рдХрд░ рд░рд╣реА рд╣реИ
require("file2");
? рдЖрдЦрд┐рд░рдХрд╛рд░, рдЙрд╕реЗ рдЧрд╛рдпрдм рд╣реЛрдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ "рдирдкреБрдВрд╕рдХ" рдлрд┐рд▓реНрдЯрд░ рддреНрд░реБрдЯрд┐ рд╣реИред рдЖрдЗрдП рдЗрд╕ рдлрд╝рд┐рд▓реНрдЯрд░ (
рдХреЛрдб ) рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВред рд╣рдо рдпрд╣рд╛рдБ рд▓рд╛рдЗрди рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдкрд╛рда рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдирд┐рдпрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ
%r{^\s*require\(['"]([^'"]*)['"]\);?\s*}
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреНрдпреЛрдВ рдХрд░рддреА рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдпрджрд┐ рдЖрдк рдмрддрд╛рдПрдВ рдХрд┐ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рд▓ рдХрд┐рдпрд╛:
рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ "$" рдЪрд┐рд╣реНрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣реА рд╣реИ, рд╣рдордиреЗ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рддрдХ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
# application.js (function() { var file1; file1 = true; }).call(this); (function() { var file3; file3 = true; }).call(this); (function() { var file2; file2 = true; }).call(this); (function() { }).call(this);
рдард╛рда (рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ)ред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЛ рдПрдХ рдФрд░ рдмрдбрд╝реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ), рддреЛ рдЖрдк рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рдПрдВ:
рдФрд░ рдЕрдм рдпрд╣ рдлрд╝рд┐рд▓реНрдЯрд░ рдирдкреБрдВрд╕рдХ рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдмрд╛рдХреА рд╣реИ
рдЕрдм рд╕рдм рдареАрдХ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ 5 рд▓рд╛рдЗрдиреЗрдВ рд▓рд┐рдЦреЗрдВ:
рдЕрдм, рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди, "application.js" рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдлрд╝рд╛рдЗрд▓ "application.min.js" рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА:
(function(){(function(){var e;e=!0}).call(this),function(){var e;e=!0}.call(this),function(){var e;e=!0}.call(this),function(){}.call(this)})();
рдореЗрд░реА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг
рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
require("dir_name/file_name")
рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╢рд╣рд░ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рдордп рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкрд╛рда, рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛, рдЕрдВрддрд┐рдо рд╕рдордп рдХреА рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп, рддрд╛рдкрдорд╛рди рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрдЧрд╛, рдЖрджрд┐ред
рдпрджрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рдореИрдВ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдлреИрдВрдЯрдо.рдЬреЗрдПрд╕ (рдЬреЛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реИ) рдФрд░ рдирд┐рд░реНрдорд╛рдг рдЪрд░рдг рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЖрдпреЛрдЬрди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред