Веб-программирование от незрячего, урок 4 серверная часть: Node.js

in #slovo6 years ago

Здравствуйте. noode.js (Его ещё пишут, как nodejs) - это серверная версия Javascript.

Отличия от фронтендного JS:

  1. Отсутствует поддержка того, что нужно для получения данных из тегов и записи в них;
  2. Вместо document.write всегда пишут console.log;
  3. jquery нет, но есть свои фреймворки, которые позволяют, например, запустить свой сайт. Один из них - это Express.
  4. Часто используется подключение модулей. Используется функция require.
  5. Возможно есть ещё какие-то нюансы, но у меня опыта в nodejs немного: создал и запустил всего 3 скрипта.

Как запускать скрипты:

  1. Устанавливаем node.js
  2. Идём в папку, где планируем запускать скрипт, создаём подпапку, а в ней файл, к примеру, index.js;
  3. Пишем в нём нужный код с учётом нюансов, что описал выше;
  4. Сохраняем;
  5. Идём в ssh консоль и запускаем командой: "node index.js", предварительно проверив, что вы находитесь в дериктории, где файл. Если же нет, надо будет ввести путь к ней через cd: "cd /scripts/one".
  6. Если ваш скрипт должен работать постоянно, надо установить pm2. Команда следующая:
    sudo npm install pm2 -g
  7. Для запуска файла вместо "node index.js" пишем "pm2 start index.js". Для остановки: "pm2 stop index.js". Вы должны находиться в папке проекта;
  8. Для установки библиотеки (пакета) express надо ввести:
    "npm install express" в папке проекта, т.е. в папке со скриптом index.js.
  9. Используйте Express в своём коде.

Пример файла с node.js и Express:

Здесь скрипт получает через get данные и использует их в своих целях. В нашем случае пишет их на странице, на которую попадает посетитель, а также результат сложения.
// - это комментарии.

var express = require('express'); // Подключаем Express
var app = express(); // Назначаем переменную функции exoress
app.get('/site/', function (req, res) {
let chislo1 = req.query.num1; // получили параметр num1 из url
let chislo2 = req.query.num2; // получили параметр num2 из url

let chisla = parseInt(chislo1) + parseInt(chislo2);

res.send('<p><strong>Сумма: ' + chislo1 + ' + ' + chislo2 + ' = ' + chisla + '</strong></p>'); // Выводим на страницу
});
app.listen(3000, function () {
}); // Доступ по порту 3000.

Тут я использовал parseInt, так как иначе переменные складывались, как строки. К примеру, если вводил site/?num1=3&num2=9, получалось не 12, а 39.

С этим же кодом всё ок. Выводится:

"Сумма: 3 + 9 = 12"

Всё

Надеюсь, было понятно. Если будут вопросы, пишите.

Sort:  

@denis-skripnik, I gave you a vote!
If you follow me, I will also follow you in return!
Enjoy some !popcorn courtesy of @nextgencrypto!

Congratulations @denis-skripnik! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

Award for the number of posts published

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.029
BTC 64572.94
ETH 2630.79
USDT 1.00
SBD 2.82