По умолчанию NodeJS использует модули по
стандарту CommonJS. Так сложилось исторически.
Однако, начиная с версии 13.2.0
появилась
полноценная поддержка ES модулей. Так как
ES модули - это официальный стандарт модулей,
то я рекомендую вам пользоваться именно им.
Чтобы перейти на модули ES вам нужно разместить
в папке с запускаемым вами файлом файл package.json
со следующим содержимым:
{
"type": "module"
}
Пример
Давайте для примера сделаем модуль math
для математических операций. Разместим его
код в файле math.js
:
function square(num) {
return num * num;
}
function cube(num) {
return num * num * num;
}
Выполним экспорт наших функций:
export function square(num) {
return num * num;
}
export function cube(num) {
return num * num * num;
}
Импортируем теперь этот модуль в файл index.js
:
import { square, cube } from './math.js';
Воспользуемся функциями нашего модуля:
let res = square(2) + cube(3);
console.log(res);
Встроенные модули
Аналогичным образом импортируются встроенные
модули. Например, импортируем модуль fs
для работы с файловой системой:
import fs from 'fs';
Не обязательно импортировать все функции модуля. Можно импортировать только нужные нам:
import { open, read, close } from 'fs';
Подключение установленного через npm
Аналогичным образом импортируются модули, установленные через npm. Давайте для примера установим библиотеку underscore:
npm install underscore
Импортируем ее:
import _ from 'underscore';
В настоящее время в документациях почти всех библиотек в инструкциях подключение описано в стиле CommonJS. Вы, однако, можете сами переделать его на ES и подключить к своему проекту.
Установите библиотеку lodash. Подключите ее себе в проект и используйте несколько методов из этой библиотеки.