Svelte был притчей во языцех в последние месяцы, и его популярность резко возросла с версией 3. Сейчас проект достиг 47 тысяч звезд на GitHub!
Svelte преобразует ваше приложение в идеальный JavaScript во время сборки, а не интерпретирует код вашего приложения во время выполнения.
В то время как Svelte набирает популярность как среда одностраничных приложений, многие разработчики все еще задаются вопросом, является ли svelte безопасным выбором для создания веб-компонентов?
Размер пакета дает svelte преимущество перед конкурентами. Это делает его де-факто выбором для веб-разработки.
Опрос State of the JS предсказывает, что svelte уже популярен среди разработчиков SPA. Тем не менее, нестандартные элементы со стройными кадрами остаются неизведанной территорией. Большинство разработчиков не знают о том, что они также могут создавать веб-компоненты с помощью svelte и использовать его как виджет plug and play.
Чтобы облегчить вам жизнь, я создал готовый к использованию стройный шаблон для разработки веб-компонентов с хорошей документацией, этапами установки и сборкой (не забудьте отметить репозиторий звездочкой 🙏)
TLDR — https://github.com/tal1992/svelte-webcomponents
Самый простой в мире готовый к использованию шаблон для веб-компонентов.
Готовый к использованию шаблон проекта для создания пользовательских элементов (веб-компонентов) с помощью Svelte 3 с поддержкой и примерами для:
✓ Пользовательские элементы
✓ шутка
✓ дерзость
✓ вложенные веб-компоненты с реквизитом
✓линтинг
✓ стайллинтинг
✓ Действия на гитхабе
✓ пользовательские события от теневого DOM до реального DOM
Установка
git clone https://github.com/tal1992/svelte-webcomponents.git cd svelte-webcomponents
как только вы окажетесь внутри папки, выполните следующие действия:
npm install
Запустить сборку в режиме разработчика -
npm run dev
Запустить сборку в режиме prod -
npm run build
Использование веб-компонентов в HTML
<component-name propOne="Lorem" propTwo="Ipsum"></component-name>
Использование веб-компонентов в качестве виджета
function addScript(src) { var s = document.createElement("script"); s.setAttribute("src", src); document.querySelector("body").appendChild(s); } //replace the url with your hosted path of bundle.js addScript("https://loremipsumdolarsir/build/bundle.js", "", "");
Теперь, когда ваш файл bundle.js включен в html, мы можем использовать веб-компоненты.
let foo = document.createElement('component-foo'); let header = document.getElementByTagName('header'); foo.setAttribute('propOne', "lorem"); foo.setAttribute('propTwo', "Ipsum"); // please replace header with desired element to place comp. header.parentNode.replaceChild(foo, header);
Полная документация — https://github.com/tal1992/svelte-webcomponents