Node.js рдЧрд╛рдЗрдб, рднрд╛рдЧ 3: рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, REPL, рдХрдВрд╕реЛрд▓ рдСрдкрд░реЗрд╢рди, рдореЙрдбреНрдпреВрд▓

рдпрд╣рд╛рдБ Node.js. рдореИрдиреНрдпреБрдЕрд▓ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рддреАрд╕рд░рд╛ рднрд╛рдЧ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдЬ рд╣рдо Node.js рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, REPL рдореЛрдб рдореЗрдВ Node.js рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ рдФрд░ рдХреИрд╕реЗ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдВ, рдХреИрд╕реЗ рдХрдВрд╕реЛрд▓ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░реЗрдВред



[рд╣рдо рдЖрдкрдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ] рдЪрдХреНрд░ рдХреЗ рдЕрдиреНрдп рднрд╛рдЧ
рднрд╛рдЧ 1: рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдЖрд░рдВрдн рдХрд░рдирд╛
рднрд╛рдЧ 2: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, V8, рдХреБрдЫ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЧреБрд░
рднрд╛рдЧ 3: рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рдЖрд░рдИрдкреАрдПрд▓, рдХрдВрд╕реЛрд▓, рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
рднрд╛рдЧ 4: npm, package.json рдФрд░ package-lock.json рдлрд╛рдЗрд▓реЗрдВ
рднрд╛рдЧ 5: npm рдФрд░ npx
рднрд╛рдЧ 6: рдИрд╡реЗрдВрдЯ рд▓реВрдк, рдХреЙрд▓ рд╕реНрдЯреИрдХ, рдЯрд╛рдЗрдорд░
рднрд╛рдЧ 7: рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рднрд╛рдЧ 8: Node.js рдЧрд╛рдЗрдб, рднрд╛рдЧ 8: HTTP рдФрд░ WebSocket рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рднрд╛рдЧ 9: Node.js рдЧрд╛рдЗрдб, рднрд╛рдЧ 9: рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
рднрд╛рдЧ 10: Node.js рдЧрд╛рдЗрдб, рднрд╛рдЧ 10: рдорд╛рдирдХ рдореЙрдбреНрдпреВрд▓, рд╕реНрдЯреНрд░реАрдо, рдбреЗрдЯрд╛рдмреЗрд╕, NODE_ENV
Node.js рдЧрд╛рдЗрдб рдХреА рдкреВрд░реНрдг рдкреАрдбреАрдПрдл

Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯрд┐рдВрдЧ


Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдХрд░рдХреЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ, рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬрд┐рдирдХреА рдХреНрд╖рдорддрд╛рдПрдВ рд╕реАрдорд┐рдд рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рднреАред

тЦН рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк: рд╕реНрдерд╛рдиреАрдп рд╕реБрд░рдВрдЧ


рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдЖрдИрдкреА рдкрддрд╛ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдЖрдк NAT рдХреЗ рдкреАрдЫреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╕реБрд░рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

Ngrok рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдпрд╣ рдкреНрд░рдкрддреНрд░ ngrok PORT рдХреА рдПрдХ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЛрд░реНрдЯ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдЧрд╛ред рдЙрд╕реА рд╕рдордп, рдпрджрд┐ рдЖрдк рд╕реЗрд╡рд╛ рдХреЗ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ ngrok.io рдбреЛрдореЗрди рдореЗрдВ рдПрдХ рдкрддрд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рдПрдХ рд╕рд╢реБрд▓реНрдХ рд╕рджрд╕реНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЛрдореЗрди рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕рдорд╛рдзрд╛рди рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ (ngrok рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдкреВрд░реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдПрдХ рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд╛рдиреАрдп рд╕реБрд░рдВрдЧреЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕реЗ рд╕реНрдерд╛рдиреАрдпрдЯреБрдиреЗрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

ред Node.js рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рддрд╛рд╡рд░рдг рдЬрд┐рд╕рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ


рдЧрдбрд╝рдмрдбрд╝


рдЧреНрд▓рд┐рдЪ рдПрдХ рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ рдФрд░ рддреАрд╡реНрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдЬреЛ рдЖрдкрдХреЛ glitch.com рд╕рдмрдбреЛрдореЗрди рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЕрднреА рддрдХ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЛрдореЗрди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рд╕реАрдорд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдЧреНрд▓рд┐рдЪ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдмрд╣реБрдд рдордЬрд╝реЗрджрд╛рд░ рд▓рдЧрддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдЗрд╕реЗ рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдлрд╛рдпрджреЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ "рдЦрд┐рд▓реМрдирд╛" рд╡рд╛рддрд╛рд╡рд░рдг рдирд╣реАрдВ рд╣реИ рдЬреЛ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИред рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ Node.js, CDN, рдЧреЛрдкрдиреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рднрдВрдбрд╛рд░, GitHub рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред

рдЧреНрд▓рд┐рдЪ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдлреЛрдЧрдмреБрдЧ рдФрд░ рдЯреНрд░реЗрд▓реЛ (рд╕реНрдЯреИрдХрдСрдирдлреНрд▓реЛ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╣реА рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЕрдХреНрд╕рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдордВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

Codepen


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

тЦН рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг


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

рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди рджрд┐рдП рдЧрдП рд╣реИрдВ:


рдпреЗ рджреЛрдиреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рдХреА рдЕрдореВрд░реНрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди FAAS рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдореЗрдЬрд╝рди AWS рд▓реИрдореНрдмреНрдбрд╛, Microsoft Azure рдФрд░ Google рдХреНрд▓рд╛рдЙрдбред

тЦНPAAS рд╕рдорд╛рдзрд╛рди


PAAS (рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо) рдРрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИрдВ рдЬреЛ рдХрдИ рдЪреАрдЬреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЖрд╡реЗрджрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдзреНрдпрд╛рди рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬреАрдпрдд рдЕрдм


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

Nanobox


рдиреИрдиреЛрдмреЙрдХреНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛, рдЬрд┐рд╕рдореЗрдВ Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреИрдирд╛рддреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕реЗ PAAS V2 рдХрд╣рддреЗ рд╣реИрдВред

Heroku


Heroku Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдмрдврд╝рд┐рдпрд╛ рдордВрдЪ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред

Microsoft azure


Azure Microsoft рд╕реЗ рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИред рдЗрд╕рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдПрдХ рдЕрдиреБрднрд╛рдЧ рд╣реИ ред

Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо


Google рдХреНрд▓рд╛рдЙрдб Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдирджрд╛рд░ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЦрдВрдб рд╣реИред

HostingVPS рд╣реЛрд╕реНрдЯрд┐рдВрдЧ


рдРрд╕реЗ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИрдВ рдЬреЛ VPS рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ ред рдРрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдПрдХ рдЖрднрд╛рд╕реА рд╕рд░реНрд╡рд░ рд╣реИ, рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрд╕ рдкрд░ рдПрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (рд▓рд┐рдирдХреНрд╕ рдпрд╛ рд╡рд┐рдВрдбреЛрдЬ) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИред

рд╡реАрдкреАрдПрд╕ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рдерд╛:


рдЕрдкрдиреЗ рджрдо рдкрд░, рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ RUVDS VPS рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛рдПрдБ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдлрдПрд╕рдЯреАрдИрд╕реА рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ, рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХрд╛ рдПрдЖрдИрдЬреА рджреНрд╡рд╛рд░рд╛ рдмреАрдорд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рджреЗрд╢реЛрдВ рдореЗрдВ рдЪрд╛рд░ рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░ рд╣реИрдВред рдореЙрд╕реНрдХреЛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдХреЛрд░реЛрд▓реЗрд╡ рд╢рд╣рд░ рдореЗрдВ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдЖрд░рдпреВрд╕реАрдПрд▓рдУрдпреВрдбреА рд╕реНрддрд░ рдЯреАрдЖрдИрдЖрд░ 3 рд╣реИ, рд╕рд╛рде рд╣реА рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдбреЗрд▓реНрдЯрд╛рд▓рд┐рд╕ (рд╕реНрд╡рд┐рдЯрдЬрд░рд▓реИрдВрдб) , рд▓рдВрджрди рдЗрдХреНрд╡рд┐рдирд┐рдХреНрд╕ рдПрд▓рдбреА 8 (рдЧреНрд░реЗрдЯ рдмреНрд░рд┐рдЯреЗрди) , рдФрд░ рдПрдордПрдордЯреАрдПрд╕ -9 (рдореЙрд╕реНрдХреЛ, рд░реВрд╕) рдореЗрдВ рджрдмрд╛рд╡ рдХреНрд╖реЗрддреНрд░ рднреА рд╣реИрдВред рд╕рднреА рдирд┐рдпрдВрддреНрд░рдг рдХреНрд╖реЗрддреНрд░ рдХрдо рд╕реЗ рдХрдо TIER 3 рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реНрддрд░ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдХрдВрдкрдиреА рдХреЗ рд╕рд╛рдЭреЗрджрд╛рд░ рд╣реИрдВ рдлрд┐рдирдо рдЬреЗрдПрд╕рд╕реА, рдмреАрд╕реАрдПрд╕ рд╡рд┐рддреНрддреАрдп рд╕рдореВрд╣, рдиреЗрд╢рдирд▓ рд╕реЗрдЯрд▓рдореЗрдВрдЯ рдбрд┐рдкреЙрдЬрд┐рдЯрд░реА (рдореЙрд╕реНрдХреЛ рдПрдХреНрд╕рдЪреЗрдВрдЬ), рд╡реАрдЯреАрдПрд╕рдЖрдИрдУрдПрдо рдЬреЗрдПрд╕рд╕реА, рдЧрд╛рд░реНрд╕-рдЯреЗрд▓реАрдХреЙрдо рдХрдВрдкрдиреА, рдЧреЗрдЯреНрдЯ рдЯреИрдХреНрд╕реА рдСрдкрд░реЗрдЯрд░, рдбрд┐рд▓рд┐рд╡рд░реА рдХреНрд▓рдм рдбрд┐рд▓реАрд╡рд░реА рдСрдкрд░реЗрдЯрд░ рдФрд░ рдХрдИ рдЕрдиреНрдпред


тЦНрдиреЙрд░реНрдорд▓ рд╕рд░реНрд╡рд░


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

рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╡рд┐рд╖рдп рд╣реИ, рд▓реЗрдХрд┐рди, рдЙрдореНрдореАрдж рд╣реИ, рдЗрд╕ рдЦрдВрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдЖрдкрдХреЛ рд╡рд╣реА рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧреА рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред рдЕрдм рд╣рдо REPL рдореЛрдб рдореЗрдВ Node.js рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВред

REPL рдореЛрдб рдореЗрдВ Node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо REPL, рд░реАрдб-рдЗрд╡реИрд▓реНрдпреВрдПрд╢рди-рдкреНрд░рд┐рдВрдЯ-рд▓реВрдк (рдЪрдХреНрд░ "рд░реАрдб - рдХреИрд▓рдХреБрд▓реЗрдЯ - рдЖрдЙрдЯрдкреБрдЯ") рдХреЗ рд▓рд┐рдП рд╣реИред REPL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ Node.js. рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╢реАрдШреНрд░ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ, node рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ Node.js рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 node script.js 

рдпрджрд┐ рдЖрдк рд╕рдорд╛рди рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Node.js рдХреЛ REPL рдореЛрдб рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

 node 

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдорд╛рдВрдб рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдкрдХреЛ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдХреБрдЫ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

 > node > 

Node.js рдЕрдм рд╕реНрдЯреИрдВрдбрдмрд╛рдп рдореЛрдб рдореЗрдВ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдХреБрдЫ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рджрд░реНрдЬ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рд╡рд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:

 > console.log('test') test undefined > 

рдпрд╣рд╛рдВ рд╣рдордиреЗ Node.js рдХреЛ рдХрдВрд╕реЛрд▓ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ред рдкрд╣рд▓рд╛ рдорд╛рди, test , рдЬреЛ console.log('test') ред рджреВрд╕рд░рд╛ рдорд╛рди, undefined , рд╡рд╣ рд╣реИ рдЬреЛ console.log() рдлрд╝рдВрдХреНрд╢рди рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХрдорд╛рдВрдб рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, REPL рдкреНрд░реЙрдореНрдкреНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдПрдХ рдирдИ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреИрдм рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ pleteComplete рдХрдорд╛рдВрдб


REPL рдПрдХ рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред рдпрджрд┐ рдЖрдк рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп рдЕрдкрдиреЗ рдХреАрдмреЛрд░реНрдб рдкрд░ Tab рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрд░рдИрдкреАрдПрд▓ рдЪрдпрди рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╣реА рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдирд╛рдо рдпрд╛ рдорд╛рдирдХ рд╡рд╕реНрддреБ рдХрд╛ рдирд╛рдоред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ JavaScriptExploring


рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдХреБрдЫ рдорд╛рдирдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Number , рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдбреЙрдЯ рдЬреЛрдбрд╝реЗрдВ рдФрд░ Tab рджрдмрд╛рдПрдВред

REPL рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рд╕рдВрдЦреНрдпрд╛ рд╡рд╕реНрддреБ рдХреА рдЬрд╛рдВрдЪ

ред рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг


рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдХрд┐рд╕ рд╡реИрд╢реНрд╡рд┐рдХ Node.js рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ global. рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ global. рдФрд░ Tab рджрдмрд╛рдПрдБред


рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдЕрдиреБрд╕рдВрдзрд╛рди

тЦН рд╡рд┐рд╢реЗрд╖ рдЪрд░ _


рдЪрд░ _ (рдЕрдВрдбрд░рд╕реНрдХреЛрд░) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЧрдП рдЕрдВрддрд┐рдо рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджрд░реНрдЬ рдЖрджреЗрд╢реЛрдВ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

With рдПрдХ рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрдорд╛рдВрдб


REPL рдореЛрдб рдореЗрдВ, рдЖрдк рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╡реЗ рд╣реИрдВ:

  • .help рдХрдорд╛рдВрдб рдПрдХ рдЕрд╡рдзрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
  • .editor рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдПрдбрд┐рдЯрд░ рдореЛрдб рдореЗрдВ .editor рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рджрд░реНрдЬ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдореЛрдб рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рдм рдХреБрдЫ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, Ctrl+D рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ Ctrl+D
  • .break рдХрдорд╛рдВрдб .break рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЗрдирдкреБрдЯ рдХреЛ рдирд┐рд░рд╕реНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ Ctrl+C рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ Ctrl+C
  • .clear рдЖрджреЗрд╢ REPL рд╕рдВрджрд░реНрдн рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рднреА рдмрд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рдореЗрдВ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ .load рдХрдорд╛рдВрдб рд▓реЛрдб рдХреЛрдбред
  • .save рдХрдорд╛рдВрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ REPL рд╕рддреНрд░ рдХреЗ рджреМрд░рд╛рди рджрд░реНрдЬ рдХреА рдЧрдИ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддреА рд╣реИред
  • .exit рдХрдорд╛рдВрдб .exit REPL рд╕рддреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ; рдпрд╣ Ctrl+C рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди рдХреЗ рджреЛ рд▓рдЧрд╛рддрд╛рд░ рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреА рддрд░рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрд░рдИрдкреАрдПрд▓ рдиреЗ .editor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рднреА рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдкрд╣рдЪрд╛рди рд▓рд┐рдпрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛрдб рджрд░реНрдЬ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛:

 [1, 2, 3].forEach(num => { 

рдпрджрд┐, рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, Enter рдХреБрдВрдЬреА рджрдмрд╛рдПрдВ, REPL рдПрдХ рдирдИ рд▓рд╛рдЗрди рдкрд░ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЙрдореНрдкреНрдЯ рддреАрди рдбреЙрдЯреНрд╕ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдб рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 ... console.log(num) ... }) 

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

REPL рдореЛрдб Node.js рдХреА рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рджрд╛рдпрд░рд╛ рдЫреЛрдЯреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рд╣рдо рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ Node.js рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ Node.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

Node.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдирд╛


Node.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп, рдЙрдирд╕реЗ рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рд╣реИ:

 node app.js 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджрд┐рдП рдЧрдП рддрд░реНрдХ рдпрд╛ рддреЛ рд╕реНрд╡рддрдВрддреНрд░ рдореВрд▓реНрдп рдпрд╛ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдирд┐рд░реНрдорд╛рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 node app.js flavio 

рджреВрд╕рд░реЗ рдореЗрдВ - рдЗрд╕ рддрд░рд╣:

 node app.js name=flavio 

рддрд░реНрдХреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ Node.js process рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкрд╛рд╕ argv рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рдЬреЛ рдХрд┐ рдПрдХ рд╕рд░рдгреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рджрд┐рдП рдЧрдП рд╣реИрдВред

argv array рдХреЗ рдкрд╣рд▓реЗ рдПрд▓рд┐рдореЗрдВрдЯ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ node рдХрдорд╛рдВрдб рдПрдВрдЯрд░ рдХрд░рдиреЗ рдкрд░ рдлрд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рд░рд╛рд╕реНрддрд╛ рд╣реЛрддрд╛ рд╣реИред

рджреВрд╕рд░рд╛ рддрддреНрд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛ рдорд╛рд░реНрдЧ рд╣реИред

рд╕рд░рдгреА рдХреЗ рдЕрдиреНрдп рд╕рднреА рддрддреНрд╡, рддреАрд╕рд░реЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдЗрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Argv рдореЗрдВ рдЙрдкрд▓рдмреНрдз рддрд░реНрдХреЛрдВ рдХреА рдЧрдгрдирд╛ (рдЗрд╕рдореЗрдВ node рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ forEach рд▓реВрдк рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 process.argv.forEach((val, index) => { console.log(`${index}: ${val}`) }) 

рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рджреЛ рддрд░реНрдХреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ argv рдЖрдзрд╛рд░ рдкрд░ рдЖрдк рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рджреЛ рддрддреНрд╡реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ argv рд╕реЗ рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛:

 const args = process.argv.slice(2) 

рдорд╛рди рд▓реАрдЬрд┐рдП, рдХреЛрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп, рдХреЗрд╡рд▓ рдПрдХ рддрд░реНрдХ рдХреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

 node app.js flavio 

рдЖрдк рдЗрд╕ рддрд░реНрдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 const args = process.argv.slice(2) args[0] 

рдЕрдм рдЖрдЗрдП рдПрдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

 node app.js name=flavio 

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, args рд╕рд░рдгреА рдмрдирдиреЗ рдХреЗ рдмрд╛рдж, рд╕реНрдЯреНрд░рд┐рдВрдЧ name=flavio args[0] ред рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдиреНрдпреВрдирддрдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 const args = require('minimist')(process.argv.slice(2)) args['name'] //flavio 

рдЕрдм рдХрдВрд╕реЛрд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдХрдВрд╕реЛрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрд╕реЛрд▓ рдХреЛ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛


рдорд╛рдирдХ Node.js рдХрдВрд╕реЛрд▓ рдореЙрдбреНрдпреВрд▓ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА console рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдорд╛рди рд╣реИред console рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддрд░реАрдХрд╛ console рд╣реИред console.log() , рдЬреЛ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣, рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред

console.log() рд╡рд┐рдзрд┐ рдХреЛ рдХрдИ рдорд╛рдиреЛрдВ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 const x = 'x' const y = 'y' console.log(x, y) 

рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЗрд╕ рдХреНрд░рдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, x рдорд╛рди рдФрд░ y рдорд╛рди рджреЛрдиреЛрдВ рдХрдВрд╕реЛрд▓ рдХреЛ рдорд┐рд▓реЗрдВрдЧреЗред

рдЬрдЯрд┐рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, console.log() рдХрдорд╛рдВрдб рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдПрдХ рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдкрд╛рда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ My cat has 2 years :

 console.log('My %s has %d years', 'cat', 2) 

рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

  • %s рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • %d рдпрд╛ %i рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • %f рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реИрд▓реНрдпреВ рдХреЛ рдлреЙрд░реНрдореЗрдЯ рдХрд░рддрд╛ рд╣реИред
  • %O рдЙрдкрдпреЛрдЧ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд┐рд░реВрдкрдг рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 console.log('%O', Number) 

рд╕рд╛рдВрддреНрд╡рдирд╛ рджреЗрдирд╛


рдХрдВрд╕реЛрд▓ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрд╕реЛрд▓ред рдХреНрд▓рд┐рдпрд░ console.clear() рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ console.clear() рд╡рд┐рднрд┐рдиреНрди рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

тЦНрдХрд╛рдЙрдЯрд┐рдВрдЧ рддрддреНрд╡


рдЕрдм рд╣рдо рдЙрдкрдпреЛрдЧреА console.count() рдкрд░ рджреЗрдЦреЗрдВрдЧреЗред console.count() рд╡рд┐рдзрд┐ред рдЗрд╕ рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 const x = 1 const y = 2 const z = 3 console.count( 'The value of x is ' + x + ' and has been checked .. how many times?' ) console.count( 'The value of x is ' + x + ' and has been checked .. how many times?' ) console.count( 'The value of y is ' + y + ' and has been checked .. how many times?' ) 

count() рд╡рд┐рдзрд┐ рдкрдВрдХреНрддрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧрд┐рдирд╛рддреА рд╣реИ рдФрд░ рдЙрдирдХреЗ рдмрдЧрд▓ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред
рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рд╕реЗрдм рдФрд░ рд╕рдВрддрд░реЗ рдЧрд┐рди рд╕рдХрддреЗ рд╣реИрдВ:

 const oranges = ['orange', 'orange'] const apples = ['just one apple'] oranges.forEach(fruit => { console.count(fruit) }) apples.forEach(fruit => { console.count(fruit) }) 

.Displaying рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдкрд░рд┐рдгрд╛рдо рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП


рдХрднреА-рдХрднреА рдлрд╝рдВрдХреНрд╢рди рд╕реНрдЯреИрдХ рдХреЗ рдЯреНрд░реЗрд╕ рдХреЛ рдХрдВрд╕реЛрд▓ рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд╛рди рдХреИрд╕реЗ рдорд┐рд▓рд╛ред рдЖрдк рдирд┐рдореНрди рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 console.trace() 

рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

 const function2 = () => console.trace() const function1 = () => function2() function1() 

рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рдХреЛрдб рдХреЛ REPL рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рддреЛ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реБрдЖ:

 Trace   at function2 (repl:1:33)   at function1 (repl:1:25)   at repl:1:1   at ContextifyScript.Script.runInThisContext (vm.js:44:33)   at REPLServer.defaultEval (repl.js:239:29)   at bound (domain.js:301:14)   at REPLServer.runBound [as eval] (domain.js:314:12)   at REPLServer.onLine (repl.js:440:10)   at emitOne (events.js:120:20)   at REPLServer.emit (events.js:210:7) 

тЦН рдХрд┐рд╕реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдХрдо рдХрд░рдирд╛


рдЖрдк рдЙрд╕ рд╕рдордп рдХреЛ рдорд╛рдк рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, console.time() рдФрд░ console.timeEnd() рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 const doSomething = () => console.log('test') const measureDoingSomething = () => { console.time('doSomething()') //    ,     doSomething() console.timeEnd('doSomething()') } measureDoingSomething() 

рд╕реНрдЯрдбрдЖрдЙрдЯ рдФрд░ рд╕реНрдЯрдбрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛


рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рджреЗрдЦрд╛ рд╣реИ, рдХрдВрд╕реЛрд▓ рдХреЛ рд╕рдВрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП console.log() рдХрдорд╛рдВрдб рдмрдврд╝рд┐рдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рддрдерд╛рдХрдерд┐рдд рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо, рдпрд╛ stdout ред

console.error() рдХрдорд╛рдВрдб рдорд╛рдирдХ рддреНрд░реБрдЯрд┐ рд╕реНрдЯреНрд░реАрдо, stderr рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдбрдВрдк рдХрд░рддрд╛ рд╣реИред stderr рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдХрдВрд╕реЛрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрдВрд╕реЛрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп toUse рд░рдВрдЧ


рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЧреНрд░рдВрдереЛрдВ рдХреЛ рд░рдВрдЧ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд░рдВрдЧреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 console.log('\x1b[33m%s\x1b[0m', 'hi!') 

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

рдЗрд╕реЗ npm рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 npm install chalk 

рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 const chalk = require('chalk') console.log(chalk.yellow('hi!')) 

рдмрдЪ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ chalk.yellow() рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдкрдврд╝рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рдЪрд╛рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреЗрдЬ рдХреЛ GitHub рдкрд░ рджреЗрдЦреЗрдВред

тЦН рдПрдХ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдмрдирд╛рдПрдБ


рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдкреНрд░рдЧрддрд┐ рд╕рдВрдХреЗрддрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдкреНрд░рдЧрддрд┐ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 npm install progress 

рдиреАрдЪреЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рдВрдХреЗрддрдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 10 рдЪрд░рдгреЛрдВ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ 100 рдПрдордПрд╕ рд▓рдЧрддреЗ рд╣реИрдВред рд╕реВрдЪрдХ рдХреЗ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, clearItnerval() рдХрдорд╛рдВрдб clearItnerval() рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

 const ProgressBar = require('progress') const bar = new ProgressBar(':bar', { total: 10 }) const timer = setInterval(() => { bar.tick() if (bar.complete) {   clearInterval(timer) } }, 100) 

тЦН рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХрд╛ рд░рд┐рд╕реЗрдкреНрд╢рди


Node.js рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдмрдирд╛рдПрдВ? рд╕рдВрд╕реНрдХрд░рдг 7 рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, Node.js рдореЗрдВ рдПрдХ рд░реАрдбрд▓рд╛рдЗрди рдореЙрдбреНрдпреВрд▓ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЙрди рдзрд╛рд░рд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, process.stdin ред рдпрд╣ рдзрд╛рдЧрд╛, Node.js рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдбреЗрдЯрд╛ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 const readline = require('readline').createInterface({ input: process.stdin, output: process.stdout }) readline.question(`What's your name?`, (name) => { console.log(`Hi ${name}!`) readline.close() }) 

рдпрд╣рд╛рдВ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЙрд╕рдХрд╛ рдирд╛рдо рдкреВрдЫрддреЗ рд╣реИрдВ, рдФрд░ рдкрд╛рда Enter рдХрд░рдиреЗ рдФрд░ рдХреАрдмреЛрд░реНрдб рдкрд░ Enter рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рдЧреНрд░реАрдЯрд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

question() рд╡рд┐рдзрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкреВрдЫрд╛ рдЧрдпрд╛ рдкреНрд░рд╢реНрди) рдФрд░ рдЗрдирдкреБрдЯ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред Enter рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж Enter рдпрд╣ рдХреЙрд▓рдмреИрдХ рдХреЛ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЙрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рдХреЙрд▓рдмреИрдХ рдореЗрдВ, рд╣рдо readline рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВред

readline , , .

, , , , , , тАФ * .

, readline-sync , , readline , .

, . inquirer . :

 npm install inquirer 

:

 const inquirer = require('inquirer') var questions = [{ type: 'input', name: 'name', message: "What's your name?", }] inquirer.prompt(questions).then(answers => { console.log(`Hi ${answers['name']}!`) }) 

inquirer . , .

Node.js. readline , readline-sync inquirer. , , .

Node.js, exports


, API module.exports , . Node.js , . , require , :

 const library = require('./library') 

library.js , , , .

, , - , . , , . , API module.exports , .

.

module.exports , , . :

 const car = { brand: 'Ford', model: 'Fiesta' } module.exports = car //..   const car = require('./car') 

, exports . , , тАФ :

 const car = { brand: 'Ford', model: 'Fiesta' } exports.car = car 

:

 exports.car = { brand: 'Ford', model: 'Fiesta' } 

, , :

 const items = require('./items') items.car 

:

 const car = require('./items').car 

module.exports exports ?

, module.exports . .


Node.js-, REPL, , Node.js. npm, , , package.json package-lock.json .

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! Node.js-?

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


All Articles