Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
06 Июл 2023
2 мин
510

Импорт функций из других файлов в 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. Он обеспечивает удобную организацию кода, его переиспользование и тестируемость.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

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