рдЬрдм рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл Node.js рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдереА рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЕрд╕рд╣рдЬ рдХрд░ рджрд┐рдпрд╛ред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ
module.exports
рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдЕрднреА
module.exports
ред
рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдореИрдВ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдм, Node.js рдХреЗ рдореВрд▓рднреВрдд рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдЕрдм, рдореИрдВ рдкреАрдЫреЗ рдореБрдбрд╝рдХрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореБрдЭреЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд░реЛрдХрд╛ рдЧрдпрд╛ ... рдореБрдЭреЗ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдпрд╛рдж рд╣реИ рдХрд┐ рдпрд╣ рдХреНрд╖рдг рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ред рдЦреИрд░, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореИрдВ рдЙрди рдХрдИ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реВрдВ, рдЬреЛ рдПрдХ рдпрд╛ рджреЛ рдмрд╛рд░ рдЙрдирд╕реЗ рдорд┐рд▓реЗ, рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдХреБрдЫ рднреА рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдПред
рдиреЛрдб рдореЗрдВ, рд╕рднреА рдЯреБрдХрдбрд╝реЗ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
рдЯреБрдХрдбрд╝реЛрдВ рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЪрд░, рдХрд╛рд░реНрдп, рд╡рд░реНрдЧ рдФрд░ рдЙрдирдХреЗ рд╕рджрд╕реНрдпред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ
misc.js
рдПрдХ
misc.js
рдлрд╝рд╛рдЗрд▓ рд╣реИ:
var x = 5; var addX = function(value) { return value + x; };
рдЪрд░
x
рдФрд░
addX
рдлрд╝рдВрдХреНрд╢рди рдХреА рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдкрд╣реБрдВрдЪ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛
var
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдиреЛрдб рдореЗрдВ
рдореЙрдбреНрдпреВрд▓ рдирд╛рдордХ рдмреНрд▓реЙрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдмреНрд▓реЙрдХ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рджрд╛рдпрд░рд╛ рдЕрдиреНрдп рд╕рдорд╛рди рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИред
рдЕрдм, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рд╕реАрдЦреЗрдВ рдХрд┐ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд╣рд░ рдХреИрд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдП, рд╣рдо рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЛ Node.s.s. рдореЗрдВ рдХреИрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдм рд╣рдо рдЙрд╕ рдЬрдЧрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
require
рдЙрдкрдпреЛрдЧ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреБрдЫ рдЪрд░ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛:
var misc = require('./misc');
рдмреЗрд╢рдХ, рдЬрдм рддрдХ рд╣рдорд╛рд░рд╛ рдореЙрдбреНрдпреВрд▓ рдХреБрдЫ рднреА
рд╡рд╛рдкрд╕ рдирд╣реАрдВ
рджреЗрддрд╛ рд╣реИ, рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдмреЗрдХрд╛рд░ рд╣реИрдВред рдФрд░ рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреБрдЫ
рджреВрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
module.exports
рдЙрдкрдпреЛрдЧ
module.exports
:
var x = 5; var addX = function(value) { return value + x; }; module.exports.x = x; module.exports.addX = addX;
рдЕрдм рд╣рдорд╛рд░рд╛ рдореЙрдбреНрдпреВрд▓ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛ рдЧрдпрд╛ рд╣реИ:
var misc = require('./misc'); console.log(" %d 10 %d", misc.x, misc.addX(10));
рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓ рд╕реЗ
рдЪреАрдЬреЗрдВ рджреЗрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЕрднреА рднреА рд╣реИ:
var User = function(name, email) { this.name = name; this.email = email; }; module.exports = User;
рдЗрди рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рд╕реАрдзреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:
module.exports.User = User;
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛:
var user = require('./user'); var u = new user.User();
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВред
рдореЙрдбреНрдпреВрд▓ рдХреА рдмрд╛рддрдЪреАрдд рдХреЛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
var powerLevel = function(level) { return level > 9000 ? "it's over 9000!!!" : level; }; module.exports = powerLevel;
рдЬрдм рдЖрдк рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ
require
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдЧрд╛, рдЬреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
require('./powerlevel')(9050);
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрдХреЗрддрди рд╣реИ:
var powerLevel = require('./powerlevel') powerLevel(9050);
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпреЗ рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреЛ рдЖрд░рд╛рдорджрд╛рдпрдХ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ!