Я хотел бы иметь модуль для Node.js, который представляет собой каталог с несколькими файлами. Я хотел бы, чтобы некоторые vars из одного файла были доступны из другого файла, но не из файлов, внешних по отношению к модулю. Возможно ли это?
Итак, предположим, что следующая файловая структура
` module/
| index.js
| extra.js
` additional.js
В index.js
:
var foo = 'some value';
...
// make additional and extra available for the external code
module.exports.additional = require('./additional.js');
module.exports.extra = require('./extra.js');
В extra.js
:
// some magic here
var bar = foo; // where foo is foo from index.js
В additional.js
:
// some magic here
var qux = foo; // here foo is foo from index.js as well
Дополнительно и дополнительные реализуют некоторую бизнес-логику (независимую от друг друга), но ей необходимо предоставить некоторые внутренние данные службы, которые не должны экспортироваться.
Единственное решение, которое я вижу, - это создать еще один файл service.js
и require
из обоих additional.js
и extra.js
. Правильно ли это? Есть ли другие решения?