рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╛рдзрд╛рд░рдг рдХреЙрдорди рдЬреЗрдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдкреИрдХрд░ - рдХреНрд▓рдЪ

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

рдмреЙрдХреНрд╕ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ:


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

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рднреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдХрд╛рдлреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕реНрдерд╛рдкрдирд╛ - рд╕реНрдерд╛рдиреАрдп npm install clinch ред

рдЦреИрд░, рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:
 #!/usr/bin/env coffee Clinch = require 'clinch' packer = new Clinch() pack_config = bundle : main : "#{__dirname}/hello_world" packer.buldPackage 'my_package', pack_config, (err, data) -> console.log 'Builder, data: \n', data 

рдпреБрдХреНрдд 'рд╣реИрд▓реЛ_рд╡рд░реНрд▓реНрдб.рдХреЛрдлреА' рдХреЗ рд▓рд┐рдП
 module.exports = hello_world : -> 'Hello World!' 

рдЖрдЙрдЯрдкреБрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛
 (function() { <... skip clinch header ...> dependencies = {}; sources = { "2377150448": function(exports, module, require) { module.exports = { hello_world: function() { return 'Hello World!'; } }; }}; this.my_package = { "main": require(2377150448)}; }).call(this); 

рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рддрд░рд╣ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛
 hello_world = my_package.main.hello_world 

рдпрджрд┐ рдЖрдк рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬреЗрдб рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд░реВрд╕реА-рднрд╛рд╖рд╛ рдореИрдиреБрдЕрд▓ рд╣реИ , рдЬреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреЛрдб рдФрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдкреБрдирд╢реНрдЪред рдореИрдВ рдХрд┐рд╕реА рдХрд╛ рднреА рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рдореИрдиреБрдЕрд▓ рд▓рд┐рдЦрдирд╛ рд╕рд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрджреНрдпрддрди: 0.2.5 рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛), рд╡рд┐рдзрд┐ рдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░рдкреНрд░реЛрд╕реЗрд╕рд░ registerProcessor() рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
 # add .econ processor packer.registerProcessor '.econ', (file_content, filename, cb) -> content = Eco.precompile file_content cb null, "module.exports = #{content}" 


рд╣реИрдВрдбрд▓рдмрд╛рд░реНрд╕ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдПрдХ рдирдЬрд╝рд░ рд╣реИ ред

Source: https://habr.com/ru/post/In172831/


All Articles