Node Hero: Частина 1 - Починаємо роботу з Node.js

6 хв. читання

Це перший пост серії туторіалів по Node.js під назвою Node Hero. Ви дізнаєтесь, що таке Node.js, як встановити програмну платформу на своєму комп'ютері і як почати роботу з нею.

В наступних розділах ми розпочнемо справжню розробку додатків.

Давайте розпочнемо!

Node.js в Nutshell

Node.js

Node.js - середовище виконання JavaScript, побудоване на рушії V8. Node.js використовує подійно-орієнтовану модель з неблокуючим введеням/виведенням, що робить його легким і ефективним.

Іншими словами: Node.js дає можливість писати сервери за допомогою JavaScript з неймовірною продуктивністю. Як сказано у документації: Node.js - середовище виконання, яке використовує той самий рушій V8 Javascript, який ви можете знайти в браузері Google Chrome. Але це не достатньо для успіху Node.js - Node.js використовує libuv, мультиплатформенну бібліотеку з фокусом на асинхронний I/O.

Node.js

З точки зору розробника Node.js є однопотоковим - але libuv обробляє потоки, file system івенти, імплементує event loop і т.д. У більшості випадків ви не будете взаємодіяти з цим безпосередньо.

Інсталяція Node.js для початку роботи

Щоб отримати останню версію Node.js, перейдіть на офіційнуй веб-сторінку.

У такому випадку не важко все встановити - проте якщо пізніше ви захочете додати більше версій Node.js, то краще використовувати nvm (Node Version Manager).

Як усе встановиться, ви можете використати простий CLI API:

Інсталяція Node.js-версій

nvm install 4.4  

Потім, якщо ви хочете перевірити експериментальну версію:

nvm install 5  

Щоб перевірити, чи маєте ви Node.js, запустіть:

node --version  

Якщо усе було зроблено правильно, це поверне номер версії активного Node.js.

Використання Node.js-версій

Якщо ви працюєте над проектом, який підтримує Node.js v4, ви можете використовувати його за допомогою наступної команди:

nvm use 4  

Ви можете перейти на Node.js v5 з тою самою командою:

nvm use 5  

Окей, тепер ми знаємо, як встановити і перемикатись між версіями Node.js, але для чого це все потрібно?

З моменту Node.js Foundation був сформований, Node.js має план релізу. Це дуже схоже на інші проекти Linux Foundation. Це означає, що є два релізи: стабільний реліз і експериментальний. У Node.js стабільні версії з довгостроковою підтримкою (LTS) є ті, які починаються з парних чисел (4, 6, 8 ...), а експериментальні версії - непарні числа (5, 7 ...). Ми рекомендуємо використовувати версію LTS у розробці, а тестувати нові речі з експериментальною версією.

Якщо ви на Windows, то є альтернатива для nvm: nvm-windows.

Node.js туторіал: Hello World

Давайте спробуємо Node.js у терміналі! Запустіть його через node:

$ node
>

Окей, давайте щось виведемо:

$ node
> console.log('hello from Node.js')

Після натискання на Enter, ви отримаєте щось схоже на це:

> console.log('hello from Node.js')
hello from Node.js  
undefined  

Час створити наш додаток Hello Node.js!

Давайте почнемо з створення файлу під назвою index.js. Відкрийте ваш IDE, створіть новий файл і збережіть його як index.js. Як ви закінчите з цим, скопіюйте наступний фрагмент коду в цей файл:

// index.js

console.log('hello from Node.js')  

Для того, щоб запустити його, вам потрібно знову відкрити свій термінал і перейти в директорій, в якому ви розмістили index.js.

Після того як ви успішно це зробили, запустіть файл за допомогою команди node index.js. Ви побачите, що вийде той самий результат, як і раніше - вивід рядка безпосередньо у терміналі.

Розділення вашого додатку на модулі

Тепер у вас є свій index.js файл, так що настав час ускладнити гру! Давайте створимо щось складніше, розділивши наш вихідний код на кілька файлів JavaScript для кращих читабельності і підтримки. Щоб почати, поверніться в IDE і створіть таку структуру директорію (з порожніми файлами), але зараз без package.json, ми згенеруємо цей файл автоматично в наступному кроці:

├── app
|   ├── calc.js
|   └── index.js
├── index.js
└── package.json

Кожен проект Node.js починається зі створення файлу package.json - ви можете думати про це як JSON-представлення додатка і його залежностей. Він містить назву вашого додатку, автора (ви), і всі залежності, які необхідні для запуску програми. Ми збираємося розглянути залежності пізніше в розділі Використання NPM.

Ви можете інтерактивно створити файл package.json за допомогою команди npm init в терміналі. Після enter вам потрібно буде ввести назву вашого додатку, версію, опис і т.д. Не турбуйтесь, просто натискайте enter, поки ви не отримаєте JSON-сніпет і питання is it ok?. Натисніть enter ще один раз і вуаля, ваш package.json було автоматично згенеровано і розміщено у папку вашого додатку. Якщо відкрити цей файл у вашому IDE, це буде виглядати приблизно так:

// package.json
{
  "name": "@risingstack/node-hero",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
  "author": "",
  "license": "ISC"
}

Буде непогано додати скрипт запуску start для вашого package.json - як тільки ви зробите, що, як показано в наведеному вище прикладі, ви зможете запускати додаток і з командою npm start.

Тепер давайте повернемось до першого файлу, який ви створили і назвали index.js. Я рекомендую зберігати цей файл дуже простим - у ньому достатньо тільки require сам додаток (index.js файл з піддиректорію /app, який було створеного раніше). Скопіюйте наступний скрипт в ваш файл index.js і збережіть його:

// index.js

require('./app/index')  

Тепер час розробляти реальний додаток. Відкрийте файл index.js з папки /app, щоб створити дуже простий приклад: додавання масиву чисел. В цьому випадку index.js файл буде містити тільки цифри, які ми хочемо додати, і логіку, яка буде робити розрахунок.

Вставте цей скрипт в файл index.js в директорії /app.

// app/index.js
const calc = require('./calc')

const numbersToAdd = [  
  3,
  4,
  10,
  2
]

const result = calc.sum(numbersToAdd)  
console.log(`The result is: ${result}`)  

Тепер вставте реальну бізнес-логіку в файл calc.js, який можна знайти в тій же папці.

// app/calc.js
function sum (arr) {  
  return arr.reduce(function(a, b) { 
    return a + b
  }, 0)
}

module.exports.sum = sum  

Для того, щоб перевірити, чи все зроблено успішно, збережіть ці файли, відкрийте термінал і введіть npm start або node index.js. Якщо ви все зробили правильно, ви отримаєте відповідь: 19. Якщо щось пішло не так, уважно перегляньте вивід консолі і знайдіть рішення.

Далі: Частина 2 - Використання NPM
Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація