Javascript: экспорт вещей внутри модуля, внутри

В Java у нас есть 4 уровня видимости. Кроме public и private, у нас есть уровень protected и уровень по умолчанию (без модификатора), который также называется локальным для пакета или частным для пакета.

Modifier Class Package Subclass World
public Y Y Y Y
protected Y Y Y X
no modifier Y Y X X
private Y X X X

См.: https://www.programcreek.com/2011/11/java-access-level-public-protected-private/


Мне особенно нужен этот пакетный уровень в Javascript. Есть ли аналогичный способ для модулей Javascript?

Я пишу библиотеку (пакет NPM) и хочу export что-то (function, class и т. д. ), но не в общедоступном API модуля (для использования потребителями библиотеки). Просто для локального использования между файлами моего модуля.


person Mir-Ismaili    schedule 30.12.2020    source источник
comment
Серьезно? Нет ответа? Если это действительно невозможно, это ОГРОМНАЯ проблема   -  person yeoman    schedule 07.03.2021


Ответы (1)


Разбиение пакета TypeScript NPM на несколько файлов без раскрытия внутренних компоненты

Кажется, это работает: package.json определяет, что на самом деле экспортируется из пакета npm. Все по-прежнему можно импортировать из любого места внутри проекта, но импорт является явным. То, что не отображается явно через package.json, не может быть импортировано из другого проекта, использующего пакет.

person yeoman    schedule 07.03.2021