Можно ли как-то подключиться к файлумодулю не перезагружая его?

В Node.js можно подключиться к файлу или модулю, не перезагружая его. Для этого можно использовать функцию require.cache, которая позволяет получить доступ к кэшу модулей, загруженных с помощью функции require.

Когда модуль загружается с помощью require, его содержимое кэшируется в require.cache. Кэш представляет собой объект, у которого ключами являются абсолютные пути к модулям, а значениями - объекты модулей.

Чтобы подключиться к модулю без его перезагрузки, можно получить доступ к объекту модуля в кэше и выполнить необходимые действия. Например, в следующем коде показано, как изменить значение переменной foo в модуле без его перезагрузки:

const modulePath = require.resolve('./module.js'); // получаем абсолютный путь к модулю
const moduleCache = require.cache[modulePath]; // получаем объект модуля из кэша

moduleCache.exports.foo = 'bar'; // изменяем значение переменной foo

console.log(require('./module.js').foo); // выводит 'bar'

В данном примере мы получаем абсолютный путь к модулю module.js, а затем получаем объект этого модуля из кэша с помощью require.cache. После этого мы изменяем значение переменной foo на 'bar' в объекте модуля в кэше. Если в дальнейшем мы будем вызывать require('./module.js'), то получим измененное значение переменной foo.

Важно отметить, что использование require.cache может быть опасно, так как это может привести к неожиданным поведениям или ошибкам. Поэтому рекомендуется быть очень осторожным при изменении объектов модулей в кэше.