В моей библиотеке node.js есть несколько модулей «реализации» (частных), которые я не собираюсь экспортировать ни для каких пользователей моей библиотеки; однако это required
в index.js.
Простой пример:
my_library/
|
|_ index.js
|
|_ private_module_1/
| |
| |_ index.js
|
|_ private_module_2/
|
|_ index.js
Я не хочу публично распространять private_module_1
или private_module_2
, только исходный код в index.js
; но этот код зависит от частных модулей.
Есть ли общий шаблон или инструмент, который я могу использовать для установки/разрешения зависимостей в index.js
верхнего уровня, чтобы пользователи моей библиотеки не могли получить прямой доступ к частным модулям?
ОБНОВЛЕНИЕ (в ответ на комментарий Люка ниже):
Я думаю о том, чтобы сбросить все в index.js верхнего уровня во время сборки и использовать там закрытие, но мне нужно убедиться, что порядок/зависимости между модулями разрешен вручную, что кажется болью.
Чтобы было ясно, под «скрытием» я не подразумеваю минимизированный/запутанный код, а просто чистые пространства имен и API.