по умолчанию?
<script setup> - это синтаксический сахар над export default, в котором объявлена функция setup() т.е. <script setup> const count = ref(1); </script> компилируется в export default defineComponent({ setup() { const count = ref(1); return { count }; }, });
по факту первое - это не настоящий API, а сахар, который компилируется в обычный Composition (export default + setup())
а как он понимает, что именно вернуть надо? или все, что внутри объявишь, он вернет?
из сетапа возвращается все подряд, что ты там объявил, но есть еще анализатор импортов и шаблонов, который потом может вырезать лишнее, если оно нигде не используется
это на этапе компиляции происходит?
да, именно так
Окей, спасибо, интересно
т.е. можно и в defineComponent не париться и не удалять лишние переменные? в рантайме их и так не будет? (ну если не учитывать, что от этого dx из-за лишних автокомплитов просядет)
компилируется только <script setup>, поэтому все оптимизации касаются только его, обычный setup используется как есть, да и ты сам решаешь, что именно из него вернуть
Обсуждают сегодня