Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
08 Авг 2023
2 мин
571

Импорт функций из других файлов в Node.js

Существует ситуация, которая часто встречается при написании кода на Node.js. Представим, что есть основной файл приложения, например, app.js, и в этом приложении

Существует ситуация, которая часто встречается при написании кода на Node.js. Представим, что есть основной файл приложения, например, app.js, и в этом приложении требуется использовать функции, определенные в другом файле, например, tools.js.

Пример ситуации

В файле tools.js есть следующая функция:

// tools.js
function sayHello(name) {
  console.log(`Hello, ${name}!`);
}

И хотелось бы использовать эту функцию в файле app.js:

// app.js
var name = 'World';
// ...

Основное решение

Наиболее общепринятым подходом в Node.js является превращение файла с функциями в модуль, который затем можно подключить с помощью функции require. В данном случае, чтобы сделать функцию sayHello доступной для других файлов, в файле tools.js необходимо добавить следующую строку:

module.exports.sayHello = sayHello;

Теперь в файле app.js можно подключить tools.js и использовать функцию sayHello:

var tools = require('./tools');
var name = 'World';
tools.sayHello(name);

Этот код выполнит функцию sayHello из файла tools.js и выведет «Hello, World!».

Альтернативное решение

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

В целом, подход с модулями является предпочтительным и широко используется в сообществе Node.js. Он обеспечивает удобную организацию кода, его переиспользование и тестируемость.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий