Встроенные модули Node
Node приходит с «батарейками» — набором готовых встроенных модулей.
Встроенные (core) модули — это библиотеки, которые поставляются вместе с Node. Их не нужно устанавливать через npm — достаточно подключить через
requireилиimport.
Что это и чем отличается от пакетов
Встроенные модули уже внутри Node. Когда вы пишете require("fs") без ./ в начале и без установки — Node понимает, что вы хотите именно core-модуль, а не файл и не пакет из node_modules.
const fs = require("fs"); // файловая система
const path = require("path"); // работа с путями
const http = require("http"); // веб-сервер
const os = require("os"); // информация о системе
Никакого npm install для этого не требуется — модули уже есть.
Самые полезные встроенные модули
| Модуль | Зачем |
fs | чтение и запись файлов |
path | склейка и разбор путей к файлам |
http / https | создание веб-серверов и запросов |
os | сведения об ОС: память, ядра, имя ОС |
crypto | хеши, шифрование, случайные данные |
url | разбор и сборка URL |
events | система событий (EventEmitter) |
Пример: модуль os
Модуль os рассказывает о машине, на которой запущена программа:
const os = require("os");
console.log("Платформа:", os.platform()); // 'darwin' / 'win32' / 'linux'
console.log("Ядер CPU:", os.cpus().length); // напр. 8
console.log("Свободно памяти:", os.freemem()); // в байтах
console.log("Имя пользователя:", os.userInfo().username);
Этот код использует Node-API, поэтому в браузере он не запустится — но в терминале выдаст реальные данные о вашей системе.
Префикс node:
В современном Node встроенные модули можно подключать с явным префиксом node:. Это делает намерение очевидным и защищает от случайного конфликта с пакетом из npm с тем же именем:
import { readFile } from "node:fs/promises";
import path from "node:path";
Логика без модулей всё равно чистый JS
Многие задачи решаются стандартным JavaScript, без core-модулей. Например, разбор пути к файлу — это работа со строкой:
const filePath = "src/utils/helpers.js";
const parts = filePath.split("/");
const fileName = parts[parts.length - 1];
const ext = fileName.split(".").pop();
console.log("Файл:", fileName);
console.log("Расширение:", ext);
console.log("Папок в пути:", parts.length - 1);
Вывод:
Файл: helpers.js Расширение: js Папок в пути: 2
На практике для путей всё же берут модуль path — он учитывает разницу между Windows (\) и Unix (/). Но суть операции — обычная работа со строками.
Итог
- Встроенные (core) модули идут вместе с Node — устанавливать не нужно.
- Подключают по имени без
./:require("fs"),require("path"). - Ключевые модули:
fs,path,http,os,crypto,events. - Префикс
node:делает импорт core-модуля явным и безопасным.