Node.js — основы
Node.js — это интерпретатор языка js. Он нужен для серверной части(бэкенд).
Установка
Скачиваем с оф. сайта стабильную версию. После установки заходим в туда куда он установился, обычно это — «C:\Program Files\nodejs». Копируем этот путь. Кликаем по моему компьютеру правой кнопкой мыши и выбираем свойства. Выбираем слева «Дополнительные параметры системы».
Настройка
Нажимаем на кнопку «Переменная среды» и ищем переменную «Pаth». Кликаем два раза.
Ищем в появившемся окне, ваш путь, что вы с копировали ранее, если него нет то создаем.
Жмем везде «Ок». Это нужно для того чтобы можно было запускать Nodejs с любого места вашего компьютера, любой папки где бы вы не находились.
Тестирование
Нажимаем «windows+r» вводим «cmd», в появившемся окне вводим «node -v».
Для работы я буду использовать PHPShtorm и там буду пользоваться терминалом, вы можете использовать cmd для выполнения команд.
Создаем и экспортируем модуль func
Создадим файл func.js со следующим содержимым.
//создаем
let a = (b) =>{
    return 10+b;
}
//экспортируем
module.exports.func = a;
Используем модуль func
Создадим файл script.js со следующим содержимым.
//импортируем наш модуль func
const c = require('./func');
console.log(c.func(50));
Запускаем
node script.js и на выходе мы получим 60. Таким образом мы создали свой собственный модель, но также можно использовать готовые модули.
Готовые модули Node
На оф. сайте есть список всех готовых моделей и их можно использовать, разберемся как это делать. Я буду использовать модуль OS.
//импортируем готовый модуль OS
const os = require("os");
//выведем все свойства модуля
console.log(os);
Вы получите список всех свойств вашего ПК. Можно посмотреть на отдельные свойства, допустим вашего процессора.
//импортируем готовый модуль OS
const os = require("os");
//выведем информацию вашего процессора
console.log(os.cpus());
Модуль работы с файлами File System (FS)
Создадим массив объектов и сохраним его в файл.
//импортируем готовый модуль File System
const fs = require("fs");
//Создадим массив объектов
let users = [{name:"Anton",id:7}];
//Запишем его в файл
fs.writeFile('test.json',JSON.stringify(users),(err)=>{
    if(err)
    {
        console.log(err);
    }
})
fs.writeFile(file, data[, options], callback) — первым параметром идет имя файла, вторым, преобразуем в строку, третьим обрабатываем ошибки. Запускаем node script.js и получаем файл с названием test.json, который содержит внутри себя массив объектов.
Считываем данные readFile из файла и добавляем новые
let user2 = '{"name":"Igor","id":10}'; // этот массив добавим в test.json
fs.readFile('test.json','utf-8',(err,data)=>{ //в data теперь находится наши данные из
test.json
    //обработка ошибок
    if(err)
    {
        console.log(err);
    }
    else
    {
        //преобразуем строку в объект
        let users = JSON.parse(data);
        //Добавляем объект user2 к существующему
        users.push(JSON.parse(user2));
        //записываем его в файл
        fs.writeFile('test.json',JSON.stringify(users),(err)=>{
            if(err)
            {
                console.log(err);
            }
        })
    }
})
В итоге получи файл с такими данными.
[{"name":"Anton","id":7},{"name":"Igor","id":10}]
Сторонние модули установка (внешние)
Для использования сторонних модулей нам понадобится модуль npm. Этот модуль ставится вместе с node, так что он у вас уже есть, в консоли можете проверить npm -v. Чтобы использовать npm необходимо создать файл конфигурации, это делается с помощью команды npm init –yes, после этого у вас появится файл конфигурации package.json.
Внешний модуль Moment
Этот модуль работы со временем.
Устанавливается командой npm i moment. После чего в дереве папку увидите новую папку node_modules.
Эта папка очень много будет весить со вреенем, так что в гит её пихать не стоит используйте игнор.
После установки модуль нужно импортировать заходим в файл func.js и пишем там:
const moment = require('moment');
Учтите что время мы будем получать серверное.
Встроенный модуль HTTP
Т.к. он встроенный, то устанавливать его не нужно, он уже есть. Для работы с ним заходим в наш файл script.js и пишем там:
//импортируем встроенный модуль http
const http = require("http");
const server = http.createServer((req,res)=>{ //req - получаем данные от клиента, res — отправляем данные клиенту
    if(req.url == '/') //если url главной страницы
    {
        res.write('Welcom to server');//вывести сообщение в браузер
        res.end();//закрываем соединение, освобождаем ресурсы
    }
})
//запускаем сервер
server.on('coonections',(socket)=>{
    console.log('success connect'); //выводим сообщение в консоль сервера для Админа
})
//слушаем порт
server.listen(3000);
Запускаем сервер, пишем в консоли:
node script.js
Переходим в браузере по адресу localhost:3000 и видим сообщение «Welcom to server». В консоли же видим сообщение «success connect».
На практике локальный сервер http не используется, т.к. в нем много багов и он долго думает, в место него используется Express.
Внешний модуль Express
Создаем новую папку MyExpress, переходим в неё в консоли cd MyExpress затем пишем
npm init --yes
Создаем файл index.js и там пишем:
//импортируем express
const express = require('express');
//запускаем express, делаем объект
const app = express();
//с помощью app можно будет делать запросы get,post и т.д.
const port = 3000;
//выведем сообщение при открытии главной страницы
app.get('/',(req,res)=>{
    res.send('Вы зашли на localhost:3000, эта главная страница');
})
app.listen(port,()=>{
    console.log('Сервер успешно запущен');
})
Запускаем через консоль node index.js.
Отображение изменений в реальном режиме времени
Устанавливаем модуль nodemon и ставим его глобально с ключом -g. Пишем в консоли:
npm i nodemon -g
Теперь запускаем наши скрипты с помощью nodemon index.js.






 Загрузка...
 Загрузка...