Я работаю с веб-компонентами, используя stenciljs
. Его отличная библиотека для создания веб-компонентов, которые мы можем повторно использовать где угодно. Мне было интересно, как работает компилятор трафарета. Я имею в виду, когда я создаю сборку любого компонента, он создает несколько папок внутри dist
и когда нам нужно использовать компонент, нам просто нужно добавить 1 или 2 файла, как показано ниже (я использовал bit.dev для загрузки своего компонента)
<!DOCTYPE html>
<html lang="en">
<head>
<script type="module"
src="./node_modules/@bit/kishanoza.demo.accordian/dist/dist/accordian/accordian.esm.js">
</script>
<!-- <script nomodule=""
src="./node_modules/@bit/kishanoza.demo.accordian/dist/dist/accordian/accordian.js">
</script> -->
</head>
<body>
<accordian></accordian>
</body>
</html>
В то же время я пробовал один и тот же компонент, используя реагировать, но в реакции они не создают несколько папок, таких как трафарет.
вот список папок, которые создает трафарет: dist
папка
- cjs
- collection
- esm
- esm-es5
- accordian
- типов и некоторые файлы index.js
, поэтому мой вопрос заключается в том, для чего используются все эти папки. Я беспокоюсь об этом, потому что, когда я собираю все свои модули в каком-то микро-внешнем приложении, я не хочу так много папок для всех компонентов.
, поэтому, если я могу понять использование этого, я могу отлаживать иуправлять дубликатами папок и кода в моем микро-приложении.
любая помощь приветствуется
ОБНОВЛЕНИЕ
У меня есть проверка ionic и его сборка с использованием трафаретапоэтому, когда я делаю сборку приложения hello word в ionic и проверяю папку www
, она содержит все фрагменты компонентов, которые я не использовал во всем приложении ... это 3 МБ !!!! Почему ионный импорт всех событий компонента, если я его не использую ??
Я попытался отреагировать наилучшим образом в этих случаях ... только один файл для каждого компонента, когда я добавляю компонент трафарета в реакцию, тогда возникает одна и та же проблема, генерирующая несколько файловтолько для одного компонента для трафарета, где еще для реагирования только один файл:)