NodeJS. Модули.
Всем привет! В этой статье мы рассмотрим, что такое модули в NodeJS и зачем они нужны.
Когда мы пишем какое-то приложение, мы обычно не пишем весь код в одном файле, а разбиваем его на несколько файлов, создавая тем самым модульную структуру.
Давайте создадим на сервере папку с названием, например, NodeJS, а в ней у нас будет файлик app.js – главный файл нашего проекта.
Теперь создадим отдельный модуль – файл count.js. В нем напишем функцию, которая будет принимать массив в качестве аргумента и выводить нам, сколько в нем содержится элементов.
var counter = function(arr) {
return "В массиве содержится " + arr.length + "элемента";
};
Что, если мы теперь хотим использовать эту функцию в другом файле, например, в app.js? Для этого нам сначала нужно подключить наш модуль, используя функцию require(), которая является глобальной, а это значит, что мы можем использовать ее везде, где нам нужно.
app.js
require('./count');
Таким образом мы подключили наш модуль count.js в наш главный файл. Заметьте, что писать расширение не нужно.
Однако, если вы сейчас попытаетесь запустить нашу функцию в файле app.js, то получите ошибку. Дело в том, что код функции не доступен за пределами модуля count.js, даже несмотря на то, что мы подключили его с помощью функции require().
Чтобы все заработало, нам нужно сообщить в файле модуля, какой функционал мы хотим иметь за его пределами. Делается это вот так:
module.exports = counter;
module.exports – это массив, который будет возвращен функцией require(), поэтому давайте присвоим его какой-нибудь переменной.
app.js
var counter = require('./count');
Теперь, если вы запустите функцию в файле app.js, то все будет работать прекрасно:
console.log(counter(['first element', 'second element', 'third element']));
Итак, на этом сегодня все. Спасибо за внимание!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.