рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг Node.js. рднрд╛рдЧ 1

рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдпрд╣ рдореЛрдЬрд╝рд┐рд▓рд╛ рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреА рдЯреАрдо рд╕реЗ Node.js рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдиреМрд╡рд╛рдБ рд▓реЗрдЦ рд╣реИ, рдЬреЛ рдкрд░реНрд╕реЛрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред

рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рд▓реЗрдЦ:
  1. " Node.js рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЗ рд▓рд┐рдП рд╢рд┐рдХрд╛рд░ "
  2. "рд╣рдо рдиреЛрдб рдХреЛ рдиреЗрддреНрд░рдЧреЛрд▓рдХ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ "
  3. " рд╣рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рддреНрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ "
  4. " рдлреНрд░рдВрдЯ рдПрдВрдб рдкрд░рдлреЙрд░рдореЗрдВрд╕ред рдкрд╛рд░реНрдЯ 1 - рдХреЙрдирд╕реЗрдиреНрдЯреЗрд╢рди, рдХрдореНрдкреНрд░реЗрд╢рди, рдХреИрд╢рд┐рдВрдЧ "
  5. " рд╣рдо рдПрдХ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рд▓реЛрдб рдХреЗ рддрд╣рдд рдХреНрд░реИрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ "
  6. " рдлреНрд░рдВрдЯ рдПрдВрдб рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ред рдкрд╛рд░реНрдЯ 2 - рдХреИрдЯреЗрдЧрд┐рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рдпрдирд╛рдорд┐рдХ рдХрдВрдЯреЗрдВрдЯ рдХреИрд╢рд┐рдВрдЧ "
  7. " рдиреЛрдб-рджреЛрд╖реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЫреЗрдбрд╝рдирд╛ "
  8. " рдлреНрд░рдВрдЯ рдПрдВрдб рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ред рдкрд╛рд░реНрдЯ 3 - рдлреЙрдиреНрдЯ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди "
  9. " рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдиреЛрдбреНрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрд╛рдЧ 1 "
  10. " рд╕реНрдерд╛рдиреАрдпрдХрд░рдг Node.js. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрд╛рдЧ 2: рдЯреВрд▓рдХрд┐рдЯ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ "
  11. " рд╕реНрдерд╛рдиреАрдпрдХрд░рдг Node.js. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрд╛рдЧ 3: рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг "
  12. " Awsbox - рдЕрдореЗрдЬрд╝рди рдХреНрд▓рд╛рдЙрдб рдкрд░ Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП Paas рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ "





рдЫрд╡рд┐

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореЛрдЬрд╝рд┐рд▓рд╛ рдЙрддреНрдкрд╛рдж рдФрд░ рд╕реЗрд╡рд╛рдПрдБ 90 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд╣реИрдВ? рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:


рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдкрд░ рддреАрди рд▓реЗрдЦреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ, рдореИрдВ рдПрдХ рдмрд╣реБрднрд╛рд╖реА Node.js. рдмрдирд╛рдиреЗ рдХреЗ рддрдХрдиреАрдХреА рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЧрдП рд╢рдмреНрджреЛрдВ "рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг" (i18n) рдФрд░ "рд╕реНрдерд╛рдиреАрдпрдХрд░рдг" (l10n) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдмрд╛рдж рдХреЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг, рдЕрд░реНрдерд╛рддреН, рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрд╡рд╛рдж рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред

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

рд╣рдорд╛рд░реЗ рд▓рдХреНрд╖реНрдп


рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдП рд╣реИрдВ:


рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдореЙрдбреНрдпреВрд▓ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:


i18n-abide рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдФрд░ рдИрдЬреЗрдПрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рддреИрдпрд╛рд░реА


i18n-abide npm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрддрд╛ рд╣реИ:

npm install i18n-abide 

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЖрд╡реЗрджрди рдХреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 var i18n = require('i18n-abide'); app.use(i18n.abide({ supported_languages: ['en-US', 'de', 'es', 'zh-TW'], default_lang: 'en-US', translation_directory: 'static/i18n' })); 

рд╣рдо рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рддреАрд╕рд░реЗ рд▓реЗрдЦ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред i18n-abide рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрдИ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдФрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ req рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рдЕрдЧрд▓рд╛ рдЪрд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдЙрди рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдкрд╛рда рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 <title></title> 

рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЬреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рд╡рд╣ gettext() ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪрд░ lang рдФрд░ lang_dir ред


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

рдпрд╣рд╛рдБ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ gettext рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 app.get('/', function(req, res) { res.render('homepage.ejs', { title: req.gettext('Hello, World!') }); }); 

рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ gettext рдХреЙрд▓ рдореЗрдВ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рднрд╛рд╖рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛


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

I18n-abide рдореЙрдбреНрдпреВрд▓ HTTP рдЕрдиреБрд░реЛрдз рдХреЗ Accept-language рдХреНрд╖реЗрддреНрд░ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред рдпрд╣ рдЙрди рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реАрдпрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╕рдордЭрддрд╛ рд╣реИред

abide рдЗрд╕ рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдореИрдЪ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкреЗрдЬ рдХрд╛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреЛ рд╕реАрдзреЗ gettext рдХреЙрд▓ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рджреВрд╕рд░реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдареАрдХ рд╕реЗ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рддрд╛рд░ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рддреАрд╕рд░реЗ рдореЗрдВ, рд╣рдо рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗред



рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рд▓реЗрдЦ:
  1. " Node.js рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЗ рд▓рд┐рдП рд╢рд┐рдХрд╛рд░ "
  2. "рд╣рдо рдиреЛрдб рдХреЛ рдиреЗрддреНрд░рдЧреЛрд▓рдХ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ "
  3. " рд╣рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рддреНрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ "
  4. " рдлреНрд░рдВрдЯ рдПрдВрдб рдкрд░рдлреЙрд░рдореЗрдВрд╕ред рдкрд╛рд░реНрдЯ 1 - рдХреЙрдирд╕реЗрдиреНрдЯреЗрд╢рди, рдХрдореНрдкреНрд░реЗрд╢рди, рдХреИрд╢рд┐рдВрдЧ "
  5. " рд╣рдо рдПрдХ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рд▓реЛрдб рдХреЗ рддрд╣рдд рдХреНрд░реИрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ "
  6. " рдлреНрд░рдВрдЯ рдПрдВрдб рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ред рдкрд╛рд░реНрдЯ 2 - рдХреИрдЯреЗрдЧрд┐рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рдпрдирд╛рдорд┐рдХ рдХрдВрдЯреЗрдВрдЯ рдХреИрд╢рд┐рдВрдЧ "
  7. " рдиреЛрдб-рджреЛрд╖реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЫреЗрдбрд╝рдирд╛ "
  8. " рдлреНрд░рдВрдЯ рдПрдВрдб рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ред рдкрд╛рд░реНрдЯ 3 - рдлреЙрдиреНрдЯ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди "
  9. " рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдиреЛрдбреНрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрд╛рдЧ 1 "
  10. " рд╕реНрдерд╛рдиреАрдпрдХрд░рдг Node.js. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрд╛рдЧ 2: рдЯреВрд▓рдХрд┐рдЯ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ "
  11. " рд╕реНрдерд╛рдиреАрдпрдХрд░рдг Node.js. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрд╛рдЧ 3: рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг "
  12. " Awsbox - рдЕрдореЗрдЬрд╝рди рдХреНрд▓рд╛рдЙрдб рдкрд░ Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП Paas рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ "

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


All Articles