компоненты (button например), по какому пути в проекте вы их складвыаете? И как импортируете?
Отдельный ui делал и публиковал на npm. Еще есть вариант использовать монорепозиторий например turbojs и держать ui и основной проект в одной репе
Привет! В lib/components
У нас не кит, но может будет полезно. Мы разбиваем проект на модули. В главном модуле (откуда точка входа) есть отдельная папка со всеми общими компонентами. Оттуда импортируем абсолютными путями во все нужные модули.
А если компонент большой и в виде отдельного проекта, то можно импортировать как git submodule. Особенно удобно, если он тоже в разработке.
Можете попробовать workspace. Есть для npm, yarn и pnpm. Yarn и pnpm позволяли указывать зависимость из локальной дириктории
/src/lib/components/Button.svelte import Button from '$lib/components/Button.svelte'
А вопрос, надо ли манипуляции какие то делать перед выкладкой ? Выложил пакет в нпм, а он зараза ставится, но ошибку выдает непонятную
Также, только в конфиге свелт можно алиас настроить: " $component: 'src/lib/components/' ". А потом импортировать: import Button from '$component/Button.svelte'
Можно еще отдельный элиас завести, типа $component
Спасибо всем за ответы. У нас это первый проект на Svelte, так что пока пускай пока компоненты лежат в папке с проектом, спасибо за идею с алиасом. Потом, если хорошо пойдет, вынесем их в отдельный репозиторий, и я хочу экспортировать их как web components, чтобы переиспользовать на нашем зоопарке из ember, react и vue. Кто-то делал так? Есть проблемки?
В отличие от того же реакта и вью, со свелт (если билд без кита) не должно быть проблем, так как на выходе у вас по сути ванильный js. Я не использовал именно как веб-компонент. Но использовал как обычную функцию, которую вызывал в нужных местах, передавая селектор элемента. Проблем не было.
что-то странный ваш ответ. С вебкомпонентами прекрасно справляются указанные фреймворки https://vuejs.org/guide/extras/web-components.html
У меня так видезвонки сделаны. Есть два проекта на angular и на vue, и интерфейс видеозвонков на svelte экспортированный как веб-компонент, со сторами и всеми фичами свелта. Никаких проблем с ним нет. ( если не косячить с лишними обновлениями VDOM )
А я и не писал, что они не работают с веб-компонентами. Я писал, что свелт, в отличии от других, образуют ванильный код, и не тянет за собой всю котовасию, из-за которой как раз и могут быть проблемы.
Как роутер кита экспортнуть в веб компонент? Сделать компонент обертку?
А зачем роутер кита туда совать? Кит наверняка использует серверную часть для этого. И я не уверен, что это в принципе возможнл. Если нужен чистый клиентский код, то используйте альтернативу. К примеру, svelte-pathfinder
Да, имеелся в виду чисто клиентский роутер) Про кит написал, т. к. про официальный свелтовский роутер слышал только в контексте кита
Обсуждают сегодня