Я работаю с веб-компонентами, используя 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
- коллекция
- Эсм
- esm-es5
- аккордеон
- типы и некоторые файлы index.js
поэтому мой вопрос в том, какая польза от всех этих папок. Я беспокоюсь об этом, потому что, когда я собираю все свои модули в каком-то микро-интерфейсном приложении, мне не нужна такая большая папка для всех компонентов.
поэтому, если я понимаю, как это использовать, я могу отлаживать дубликаты папок и код и управлять ими в своем микроинтерфейсном приложении.
любая помощь приветствуется
ОБНОВЛЕНИЕ
Я проверил ionic и его сборку с помощью трафарета, поэтому, когда я создаю сборку приложения hello word в ionic и проверяю папку www
, она содержит все фрагменты компонентов, которые я не использовал во всем своем приложении.. его 3 МБ !!!! почему ionic импортирует все события компонента, если я его не использую ??
Я пытался реагировать наилучшим образом в этих случаях ... только один файл для каждого компонента, когда я добавляю компонент трафарета в реакцию, тогда та же проблема генерирует несколько файлов для одного компонента только для трафарета, где еще для реакции только один файл :) не так ли прохладно ? :)