Node.js — это фреймворк JavaScript, который появился, когда разработчики взяли JavaScript, который может работать только в браузере, и позволили ему работать на машине как автономный процесс. это означает, что вы можете создавать приложения с использованием JavaScript вне контекста браузера.

До Node.js JavaScript имел ограниченное использование, я мог использовать его для управления поведением на веб-странице, добавляя событие щелчка, добавляя/удаляя элементы веб-страницы и предупреждая пользователей, если они допускают опечатки или вводят неверную информацию при заполнении формы. .

В Node.js у нас есть набор функций, похожий на другие серверные языки, такие как Java и C++, где вы можете воспользоваться преимуществами серверных функций, таких как:

  • Пишите приложения, используя синтаксис JavaScript
  • Управляйте файловой системой, создавайте и удаляйте папки.
  • Используйте JavaScript для прямого запроса к базам данных.
  • Создайте веб-серверы, которые будут работать на вашем компьютере.

Двигатель V8

И серверный, и клиентский JavaScript работают на одном и том же движке. Он называется исполняющим движком V8 JavaScript. Это движок с открытым исходным кодом, разработанный для повышения производительности выполнения JavaScript в браузере. Движок Chrome V8 берет код JavaScript и компилирует его в гораздо более быстрый машинный код, который представляет собой низкоуровневый код, который ваш компьютер может запускать напрямую без необходимости его интерпретации. Движок V8 написан на языке C++. Движок V8 работает за кулисами, когда вы выполняете команды узла, а также работает в браузере Chrome.

Если вы откроете свой терминал и запустите этот код (обратите внимание, что для запуска любого кода Node.js в вашем терминале вам сначала нужно установить Node.js на свой компьютер, а затем запустить команду узел в вашем терминале ):

console.log("hello wrold")

Вы увидите, что это сообщение выводится на экран терминала:

>> hello world

За кулисами на вашем компьютере и в браузере работает движок V8. Когда вы запускаете код, V8 берет ваш код JavaScript, компилирует его в машинный код и выполняет его.

Модули

Модули — это единицы функциональности. Допустим, мы написали три функции, решающие задачи с массивами, и дали этим функциям следующие имена:

average() // returns the average of all numbers in array
last()  // returns last element in array
first() // returns first element in array

Затем мы можем упаковать эти функции в модуль и назвать его «_module». Теперь люди могут использовать Node.js, чтобы получить доступ к нашему модулю и получить доступ ко всем методам внутри него. Таким образом, модуль — это просто функции, объединенные в единый модуль.

  • .require

.require — это функция, доступная для использования внутри любого файла Node.js. это позволяет нам использовать модули. в основном требует позволяет нам:

  • Загрузите модули, которые поставляются в комплекте с node.js, такие как модуль HTTP и модуль FS.
  • Загружать сторонние библиотеки.
  • Используйте его, чтобы запрашивать наши файлы и разбивать приложения на несколько файлов меньшего размера, что является важной частью создания реальных приложений.
// accessing function within Node.js's build-in modules. 
const fs = require('fs');
// accessing third party libraries. 
const _ = require("lodash");

Используя функцию #require, вы сообщаете узлу, что вы обращаетесь к определенному модулю и сохраняете все его содержимое в объявленной постоянной переменной. После этого у вас есть доступ ко всем функциям, доступным внутри этого модуля.

Следите за моим путешествием по кодированию здесь, на Medium, или найдите меня на GitHub, Linkedin и Facebook.