Size: a a a

2020 October 06

/

/dev/null in Svelte [svelt]
Alexander Ponomarev
ты же делал импорт из svelte-materialify/src/Button вроде
Не, такого я не делал
источник

/

/dev/null in Svelte [svelt]
Я с корня импортил
источник

MF

Max Frai in Svelte [svelt]
Pavel 🦇 Malyshev
на самом деле, можно было бы портировать шаблонизатор свелт (htmlx) на серверный язык и ре-юзать шаблоны между сервером и клиентом
ну у меня требования мягче, по сути сам решаю как. так что можно на этапе сборки вызывать компилятор свелта, вопрос в том будет ли работать или не
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Max Frai
ну у меня требования мягче, по сути сам решаю как. так что можно на этапе сборки вызывать компилятор свелта, вопрос в том будет ли работать или не
смотри, если у тебя ВСЯ верстка должна управляться свелтом, тогда проблема. Если же речь про виджеты - изолированные куски приложения с собственной версткой и интерактивностью, которые могут общаться между собой, тогда свелт отлично подойдет
источник

MF

Max Frai in Svelte [svelt]
Да, отдельные блоки какие-то должны быть интерактивными, не все приложение и вся верстка
источник

MF

Max Frai in Svelte [svelt]
т.е. мне в статичный сайт нужно будет внедрять независимые динамические блоки, которые не нужны для поисковых движков, чтобы они были в странице с контентом
источник

AP

Alexander Ponomarev in Svelte [svelt]
/dev/null
Если кто-нибудь подскажет, как это починить (как правильно добавить типы именно для SSR версии), я буду очень благодарен)
попробуй из конкретных файлов дергать, но видимо типы там написаны просто чтобы были)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
у тебя будет не одна входная точка как в шаблоне (App.svelte), а столько сколько виджетов. Коммуникацию можно осуществлять через общий стор и/или ивенты через инстанс виджета: widget.$on()
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Max Frai
т.е. мне в статичный сайт нужно будет внедрять независимые динамические блоки, которые не нужны для поисковых движков, чтобы они были в странице с контентом
идеальное решение
источник

/

/dev/null in Svelte [svelt]
Alexander Ponomarev
попробуй из конкретных файлов дергать, но видимо типы там написаны просто чтобы были)
Вообще так делать нельзя, но я сделал...
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
тоже самое сейчас делаем, не получилось убедить мотерых пхпшников, что им понравится свелт. они не хотят разбираться (nodejs, rollup, svelte, много непонятных слов) и есть большая вероятность что поддержка js кода ляжет в итоге на них, поэтому такие требования
источник

AP

Alexander Ponomarev in Svelte [svelt]
я имел в виду в своём коде, а не в модуле
источник

/

/dev/null in Svelte [svelt]
Это да, просто до этого совета я сделал такой хак ради эксперимента
источник

MF

Max Frai in Svelte [svelt]
Pavel 🦇 Malyshev
тоже самое сейчас делаем, не получилось убедить мотерых пхпшников, что им понравится свелт. они не хотят разбираться (nodejs, rollup, svelte, много непонятных слов) и есть большая вероятность что поддержка js кода ляжет в итоге на них, поэтому такие требования
у меня немного другая ситуация. бек на компилируемом нативном языке, важна производительность приложения и максимально быстрый ответ, плюс все должно быть отрисовано на сервере для поисковых движков, поэтому nodejs отпадает. так можно было бы ssr использовать и пользоваться всеми благами фреймворков
источник

/

/dev/null in Svelte [svelt]
Alexander Ponomarev
попробуй из конкретных файлов дергать, но видимо типы там написаны просто чтобы были)
не
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Max Frai
у меня немного другая ситуация. бек на компилируемом нативном языке, важна производительность приложения и максимально быстрый ответ, плюс все должно быть отрисовано на сервере для поисковых движков, поэтому nodejs отпадает. так можно было бы ssr использовать и пользоваться всеми благами фреймворков
тебе подойдет. делаешь в main.js:


import Widget1 from '';
import Widget2 from '';
...

const widget1 = new Widget1({ ... });
const widget2 = new Widget2({ ... });
...
/*
тут можно наладить коммуникацию через $on и отчистку виджета через $destoy если нужно
*/

export { widget1, widget2 }; // если iife то инстансы виджетов будут добавлены в window[name].widget1
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
name в конфиге роллапа указывается
источник

/

/dev/null in Svelte [svelt]
Pavel 🦇 Malyshev
тебе подойдет. делаешь в main.js:


import Widget1 from '';
import Widget2 from '';
...

const widget1 = new Widget1({ ... });
const widget2 = new Widget2({ ... });
...
/*
тут можно наладить коммуникацию через $on и отчистку виджета через $destoy если нужно
*/

export { widget1, widget2 }; // если iife то инстансы виджетов будут добавлены в window[name].widget1
Вопрос сходу
Если мы юзаем класс компонента и создаём от него экземпляр, а-ля
new MyComponent( { target: ..., props: { ... } } )

Как тут, условно, передать данные для <slot> ... </slot>?

Т.е., если я использую обычно так:
<MyComponent>Hello world!</MyComponent>
То тут понятно, что Hello world! попадёт в слот
А как это сделать в случае ручной инициализации?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
/dev/null
Вопрос сходу
Если мы юзаем класс компонента и создаём от него экземпляр, а-ля
new MyComponent( { target: ..., props: { ... } } )

Как тут, условно, передать данные для <slot> ... </slot>?

Т.е., если я использую обычно так:
<MyComponent>Hello world!</MyComponent>
То тут понятно, что Hello world! попадёт в слот
А как это сделать в случае ручной инициализации?
тут к сожалению никак, в Svelte 2 была такая возможность, потому что слоты были просто ссылками на html элементы. в svelte 3 ввели scoped slots,  из-за этого слоты стали специальными функциями-конструкторами.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
мы получили нужную фичу во внутрятке свелт приложения, но лишились передачи из внешнего кода ((
источник