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