NODE JS

Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API, написанный на C++, подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и macOS) и даже программировать микроконтроллеры (например, tessel, low.js и espruino). В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.

Введение в NodeJS

Данный учебник посвящен NodeJS - серверному JavaScript. Перед изучением данного учебника вам уже необходимо: знать язык JavaScript, иметь установленный NodeJS, представлять себе работу протокола HTTP,...

Читать дальше

Таймеры в NodeJS

Давайте запустим таймер, который будет каждую секунду выводить что-нибудь в консоль: setInterval(function() { console.log('!'); }, 1000); Запущенный нами таймер будет работать вечно: пока мы не...

Читать дальше

Модули ES в NodeJS

По умолчанию NodeJS использует модули по стандарту CommonJS. Так сложилось исторически. Однако, начиная с версии 13.2.0 появилась полноценная поддержка ES модулей. Так как ES модули - это официальный ...

Читать дальше

Сейчас мы научимся работать с файловой системой. За это в NodeJS отвечает встроенный модуль fs, который необходимо импортировать: import fs from 'fs'; Каждый метод модуля fs существует в двух вари...

Читать дальше

С методами модуля fs асинхронно можно работать не только через коллбэки, но и через промисы. Для этого есть специальное свойство promises, содержащее в себе промисные аналоги методов для работы с файл...

Читать дальше

Вспомним, как мы подключали модуль fs: import fs from 'fs'; После такого подключения нам будут доступны промисные варианты методов этого модуля через fs.promises: fs.promises.readFile('readme.t...

Читать дальше

Как вы уже знаете, в параметр методов чтения или записи следует писать имя файла. Это, однако, работает только в том случае, если читаемый файл лежит в той же папке, в которой запускается наш скрипт. ...

Читать дальше

Если ваш NodeJS работает в стиле CommonJS, то в файлах с вашими скриптами будет доступна константа __dirname: console.log(__dirname); В ES модулях, однако, эта константа была убрана. Впрочем, ее н...

Читать дальше

Давайте научимся проверять существование файла или папки. В современном NodeJS это делается особым образом через метод fs.access, проверяющий возможность доступа к файлу. Для начала импортируем аси...

Читать дальше

Представим, что у вас есть достаточно большой файл, скажем размером в 100 мегабайт. Пусть мы хотим что-то сделать с данными этого файла. Очевидно, что для этого нужно прочитать содержимое этого файла ...

Читать дальше

Ситуация, в которой нам нужно прочитать данные из одного потока и записать их в другой, является достаточно распространенной. Для упрощения такой операции придуманы каналы (англ. pipes). Давайте по...

Читать дальше

Давайте теперь развернем HTTP сервер на NodeJS . Этот сервер будет принимать запросы от браузера и отдавать в ответ HTML код страниц. Для начала нам нужно импортировать модуль http: import http ...

Читать дальше

Вам следует понимать, что наш сервер, будучи один раз запущенным, обрабатывает запросы всех пользователей нашего сайта. Этим подход NodeJS отличается от подхода PHP в котором скрипт запускается, отраб...

Читать дальше

Объект запроса request содержит данные запроса браузера к серверу. В этом объекте свойство url содержит адрес запрошенной страницы, свойство method содержит HTTP метод запроса, а свойство headers соде...

Читать дальше

Давайте теперь будем выдавать разное содержимое при обращении к разным URL: http.createServer((request, response) => { if (request.url != '/favicon.ico') { if (request.url == '/page1') { ...

Читать дальше

Страницы: 1 2