Node.js – серверная часть JavaScript, которая работает не на стороне клиента, а на стороне сервера, и при этом, скрипты могут выполнять свои задачи, без взаимодействия с пользователем, как будто мы просто запустили программу.
Вкратце.
Node.js можно установить на любую платформу. Скачать для windows https://nodejs.org/en/download/
Создание любого проекта начинается, с создания папки, где будут храниться пакеты проекта и рабочие файлы.
Первым делом, перейдя в директорию проекта, нужно запустить команду npm init. После запуска команды, будет предложено написать название проекта, описание. Все эти пункты можно и не заполнять, всё по желанию. В конце появится запрос на подтверждение, если все OK, то в каталоге с проектом, будет создан файл package.json
Установка необходимых пакетов.
Все пакеты устанавливаются с помощью следующей команды:
1 2 3 |
npm install request --save |
В этом примере был установлен пакет request. Пакеты можно устанавливать скопом, перечисляем через пробел:
1 2 3 |
npm install request cheerio --save |
После установки пакета, в директории проекта будет создана папка node_modules, в эту папку будут устанавливаться все пакеты, которые нужны для вашего проекта. Также установленные пакеты будут прописаны в файл package.json, в секцию dependencies, где будет указано название пакета и его версия.
Например, для парсинга сайта, нужно минимум два пакета: request, cheerio.
cheerio это пакет, который позволяет, обрабатывать полученную страницу с помощью Jquery
Все пакеты подключаются следующим образом:
1 2 3 4 |
const request = require('request'); const cheerio = require('cheerio'); |
Если понадобится передавать и получать данные с помощью технологии AJAX, то нам понадобиться пакет: xmlhttprequest
https://www.npmjs.com/package/xmlhttprequest
Подключается он следующим образом:
1 2 3 |
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; |
А дальше пишем, как обычно
1 2 3 |
var xhr = new XMLHttpRequest(); |
Пример парсинга заголовка статей с сайта ddr64.link
1 2 3 4 5 6 7 8 9 10 11 |
const request = require('request'); const cheerio = require('cheerio'); request('https://ddr64.link',(error,response,body)=>{ if(!error && response.statusCode===200){ const $ = cheerio.load(body); var h = $('h2'); console(h.eq(0).text()); }) |
В этом примере, была загружена главная страница сайта, в переменную h были помещены все объекты заголовков h2, а в console.log, вывели первый заголовок.
Это простой пример, который показывает, что особой разницы нет, между работой в JavaScript на стороне клиента, т.е в браузере и Node.js – на сервере.
Запуск скрипта происходит с помощью команды:
1 2 3 |
node myscript.js |
Т.е можно создать некий скрипт, например сбор некой информации с некоего сайта, а потом через планировщик задач, его запускать, и он будет прекрасно выполнять свою задачу, не открывая при этом браузер.