Email or username:

Password:

Forgot your password?
leca :stallman_was_right: :anarchy:

@rf Доброй ночи, ребята! Обращаюсь к заядлым JSерам, как поделить nodejs программу на модули? Скажем, есть набор функций, которые работают с глобально объявленным массивом. Как я могу их импортировать? Я не могу сделать const utils = require('./utils'); и вынести все функции в module.exports, ибо в таком случае он не видит глобальные переменные. Как стоит поступить?

2 comments
iliazeus

@leca

Для начала: не пользуйся глобальными переменными пожалуйста. Лучше экспортируй их из одного модуля и импортируй в другой.

Если очень нужно, то глобальные переменные - это на самом деле поля глобального объекта `global` (он же `globalThis`, если хочешь быть совместимым с браузером). Поэтому замени в своих utils обращения к глобальной переменной foo на global.foo.

Но опять-таки, лучше не делай их глобальными, если уж используешь модули.

iliazeus

@leca да, и если внутри модуля ты объявляешь `var foo = 123`, то это не глобальная переменная, а только на уровне модуля. Если нужно объявить именно глобальную переменную внутри модуля, то используй, опять-таки, `global.foo = 123`.

Go Up