Size: a a a

2020 September 23

PM

Pavel 🦇 Malyshev in Svelte [svelt]
собственно и commonjs точно также
источник

/

/dev/null in Svelte [svelt]
Pavel 🦇 Malyshev
@zamkevich сторы свелт основаны на том, что модули ES по-умолчанию являются синглтонами. поэтому когда на клиенте один и тот же модуль импортируется в разные части приложения фактически это один и тот же объект/что-угодно. НО на сервере мы не можем иметь синглтоны, потому что нода stateful и стейт будет расшарен между всеми соединениями
Смутило)
источник

MZ

Misha Zamkevich in Svelte [svelt]
Pavel 🦇 Malyshev
у тебя стор GQL где подключается?
Во первый вот он 1 скрин.
Вот так он подключается на каждой странице. 2 скрин
источник

MZ

Misha Zamkevich in Svelte [svelt]
Pavel 🦇 Malyshev
у тебя стор GQL где подключается?
источник

MZ

Misha Zamkevich in Svelte [svelt]
Pavel 🦇 Malyshev
у тебя стор GQL где подключается?
источник

MZ

Misha Zamkevich in Svelte [svelt]
упс
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
если это стор, то в context=module его не надо
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
ну и вообще, его надо как-то изолировать от сервера
источник

/

/dev/null in Svelte [svelt]
Так тут на скринах речь про сервер... не?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
еще вариант что внутри этот стор работает по lazy-принципу (например так работает мой svelte-asyncable) - запрашивает данные только когда появляется первый подписчик и релизит их когда подписчиков не становится
источник

/

/dev/null in Svelte [svelt]
Я вижу клиента аполло, который инстанцируется на сервере
И затем реюзается в context = "module"
источник

MZ

Misha Zamkevich in Svelte [svelt]
Pavel 🦇 Malyshev
ну и вообще, его надо как-то изолировать от сервера
Это не получится сделать везде, ведь есть ещё динамические страницы.
источник

MZ

Misha Zamkevich in Svelte [svelt]
/dev/null
Я вижу клиента аполло, который инстанцируется на сервере
И затем реюзается в context = "module"
Это изоморфная хрень работает и на сервере (для прелоуда и слагов) и на клиенте.
источник

/

/dev/null in Svelte [svelt]
Вооот
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Misha Zamkevich
Это не получится сделать везде, ведь есть ещё динамические страницы.
я о чем  и пишу, сторы созданы для клиента, GQL как бы тоже. не знаю как его лучше завести на BFF. к сожалению, большого опыта с GQL нет (((
источник

/

/dev/null in Svelte [svelt]
Говорю ж, не имел с ним дела)
источник

/

/dev/null in Svelte [svelt]
А то, что туда передаётся node-fetch, то на клиенте то не получится использовать?
Если синглтон делать
источник

NA

Nurbek Akhmedov in Svelte [svelt]
Misha Zamkevich
Это изоморфная хрень работает и на сервере (для прелоуда и слагов) и на клиенте.
https://github.com/timeshift92/graphql-svelte
я вот для себя делал,
но для сапперва вам придется токен хранит в сессии
чтобы запросы были изоморфными (лично я использовал в саппере)
источник

NA

Nurbek Akhmedov in Svelte [svelt]
внутри используется стор с который кеширует, и можно обновлять данные
источник

NA

Nurbek Akhmedov in Svelte [svelt]
preload.set((emptyDialogs) => {
         emptyDialogs.data.dialogs.flatMap((dialog) => {
           if (dialog.id == selectedConv) dialog.type = types.BUSY
           return dialog
         })
         return emptyDialogs
       })
источник