Size: a a a

2021 April 14

ZK

Zubair Khan in Svelte [svelt]
Я не понимаю Россию. Я использую клавиатуру Google Translate
источник

АН

Артём Никитин... in Svelte [svelt]
Каждый компонент (даже пустой) тянет с собой дополнительный код. И поэтому в какой-то момент Svelte может проиграть тому же реакту.
источник

АН

Артём Никитин... in Svelte [svelt]
Но это надо постараться
источник

КС

Кирилл Спасибович... in Svelte [svelt]
короче для виджета может быть полезнее не плодить маленьких компонентов, только жирные :)
источник

КС

Кирилл Спасибович... in Svelte [svelt]
использовать input'ы, button'ы, select'ы и тд как теги
источник

DK

Dmitry Kurmanov in Svelte [svelt]
Please feel free to talk here in English
источник

КС

Кирилл Спасибович... in Svelte [svelt]
<script>
 export let labelFor;
 export let text, right = false;
</script>

<label for={labelFor}>
 {#if !right}
   {text}:
 {/if}

 <slot />

 {#if right}
   {text}
 {/if}
</label>


т.е. чего-то такого из репла Марка для виджета лучше избегать
источник

ZK

Zubair Khan in Svelte [svelt]
Ok superb .. thanks ✌️
источник

КС

Кирилл Спасибович... in Svelte [svelt]
если конечно на размер бандла не пофиг
источник

DK

Dmitry Kurmanov in Svelte [svelt]
Я так чисто по реплу посмотрел. Пустой компонент добавляет около 400 байт в неменифицироаанном виде. Реакт примерно 70кб.  Т.е. если я не ошибаюсь компонентов должны быть сотни, чтобы только приблизиться к размеру самого реакта. А дальше еще + код тех же компонентов на реакте. Т.е. наверное когда сотни компонентов, то будет сравнимо. Но это грубая прикидка...
источник

КС

Кирилл Спасибович... in Svelte [svelt]
добавь один какой-нибудь пропс и обвязка раздуется значительно)
и так на каждую свелто-фичу
источник

DK

Dmitry Kurmanov in Svelte [svelt]
Да это надо смотреть на более реальных примерах. Я просто див с текстом добавлял
источник

КС

Кирилл Спасибович... in Svelte [svelt]
/* App.svelte generated by Svelte v3.37.0 */
import {
 SvelteComponent,
 detach,
 init,
 insert,
 noop,
 safe_not_equal,
 set_data,
 text
} from "svelte/internal";

function create_fragment(ctx) {
 let t;

 return {
   c() {
     t = text(/*haha*/ ctx[0]);
   },
   m(target, anchor) {
     insert(target, t, anchor);
   },
   p(ctx, [dirty]) {
     if (dirty & /*haha*/ 1) set_data(t, /*haha*/ ctx[0]);
   },
   i: noop,
   o: noop,
   d(detaching) {
     if (detaching) detach(t);
   }
 };
}

function instance($$self, $$props, $$invalidate) {
 let { haha = 1 } = $$props;

 $$self.$$set = $$props => {
   if ("haha" in $$props) $$invalidate(0, haha = $$props.haha);
 };

 return [haha];
}

class App extends SvelteComponent {
 constructor(options) {
   super();
   init(this, options, instance, create_fragment, safe_not_equal, { haha: 0 });
 }
}

export default App;


<script>
 export let haha = 1;
</script>

{haha}
источник

КС

Кирилл Спасибович... in Svelte [svelt]
вот смотри что генерит для одного пропса) и представь что это одна кнопка какая-нить)
источник

К

Кто-то in Svelte [svelt]
ну смотри например сделал я компонент селекта, и подключил его 10 раз получается бандл вырастит в 10 раз ?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
нет, но если ты везде будешь использовать селект как теги то будет дешевле)

хотя может будет какой-то момент, когда дешевле станет компонент
источник

DK

Dmitry Kurmanov in Svelte [svelt]
Ща попробую тоже с пропсами
источник

DK

Dmitry Kurmanov in Svelte [svelt]
Хм ну с виду тоже самое + 400 байт округленно в большую сторону... Ща репл скину
источник

A

Arushwl in Svelte [svelt]
+ за нативные тэги, если нет переиспользования
источник

КС

Кирилл Спасибович... in Svelte [svelt]
источник