Душный Вуй
739 subscribers
150 photos
5 videos
4 files
346 links
Немного душные, но ламповые заметки о Vue.js
#vuejs #vue #nuxt #vuex #pinia #вью #vapor
Download Telegram
Интересная аналогия 💚

🛻 Nuxt (SSR) — фуд-трак: открываешь сайт — и «бургер» контента уже в руках.
🏠 Vue SPA — домашняя кухня: сначала тянем ингредиенты (JS), потом готовим прямо в браузере.

Nuxt даёт мгновенный первый экран и любовь поисковиков, SPA удобнее для внутренних кабинетов, где SEO не важно. Выбирайте, что вкуснее вашему проекту!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Nuxt.js | Vue SSR News (Андрей)
Стоило выйти за хлебом на 4 месяца, и тут такое...

Вышел Nuxt 3.17, несмотря на все сложности

‼️ useAsyncData и useFetch теперь умнее: несколько вызовов с одним ключом будут использовать одну и ту же реактивную ссылку. Плюс поддержка реактивных ключей — если что-то поменялось, данные сами перезагрузятся без лишнего шума.

🐊 Новый <NuxtTime> — Теперь можно рендерить дату и время без ошибок гидрации (Раньше тоже было можно, просто теперь отдельный компонент завезли).

👀 Кстати о компонентах — Переработали NuxtErrorBoundary, теперь это SFC (ну ладно), и теперь помимо error в слот с ошибкой передаётся ещё и функция clearError (а вот это уже ничего себе)

🐸 И ещё немного о компонентах. Добавили пропс trailing-slash прямо в <NuxtLink>, чтобы аккуратно управлять тем, будут ли слэши в ваших урлах.

✏️ Доку вынесли в отдельный npm-пакет — @nuxt/docs. Ребята пилят свой mcp-сервер, так что это скорее для них, чем для нас.

🍪 Для разработчиков модулей тоже есть улучшения — добавлен флаг experimental.enforceModuleCompatibility. Модули теперь проверяются на совместимость с v3 (v4 держим в уме) заранее. И хук addComponentExports, чтобы добавить именованным компонентам в модуле возможность автоимпорта.

🔥 Куда же без перформанса? Перешли на tinyglobby — меньше зависимостей (2 vs 23), быстрее сборка. Зацените https://e18e.dev/, если хотите у себя тоже выкинуть какие-то тяжёлые зависимости (из проекта). Еще почистили список папок, чтобы ускорить тайпчекинг.

Полный пост, как всегда, в блоге
Please open Telegram to view this post
VIEW IN TELEGRAM
Ноооооооовости
Forwarded from Vue-FAQ
В GitLab-e уже тестируют rolldown-vite

Скорость сборки примерно в 5 раз быстрей, и значительно меньше потребление памяти

#gitlab #rolldown #vite
Шо там по новостям?
Forwarded from MSK VUE.JS News
Всем привет 🙂
Это мы идем с крутыми новостями🤪

Алярм: мы открываем регистрацию на новый митап!

📆 29 мая 2024, 19:00

📍 Мск, Крылатская 15, Офис Lamoda

👉 РЕГИСТРАЦИЯ👈

В 13-ый раз команда сообщества MskVue.js соберет единомышленников в офисе Lamoda!

Вас ждут 3 доклада, розыгрыш мерча за лучший вопрос спикеру и просто тонна общения с крутыми разрабами 🙂

Совсем скоро мы представим наших спикеров, поэтому не переключайтесь 🙂

А еще, самое время зарегистрироваться на митап и забить место в своих календариках, чтобы не пропустить этот движ, ведь количество мест ограничено.

Передаем привет главному спонсору #13 митапа - Lamoda Tech 💚

Увидимся совсем скоро 🤍
Please open Telegram to view this post
VIEW IN TELEGRAM
Душный Вуй
Всем привет 🙂 Это мы идем с крутыми новостями🤪 Алярм: мы открываем регистрацию на новый митап! 📆 29 мая 2024, 19:00 📍 Мск, Крылатская 15, Офис Lamoda 👉 РЕГИСТРАЦИЯ👈 В 13-ый раз команда сообщества MskVue.js соберет единомышленников в офисе Lamoda! …
Ребята ходите на митапы, митапы это хорошо! Особенно митапы у ребят MSK Vue.js 💚

Я к сожалению пропущу этот митап так как 23 мая улетаю в дали далёкие, грустно это конечно 😭
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Vueist
С постами туго, так как готовлюсь к митапу ссылка на который выше, скоро там будет уже анонс доклада (по секрету это о работе с композаблами).

Но только вот не у всех есть возможность оказаться в каком-то городе для оффлайн мероприятия (на мероприятии выше трансляция и запись будет). И вот я наткнулся на еще один митап: Vuejs Talks от кор команды Vuestic UI. Митап проходит в онлайн формате на английском, так что это шанс получить общение или даже выступить впервые на английском языке (я себе галочку уже поставил, что планирую это сделать).

Самая классная часть, что проводится митап регулярно фактически каждый месяц. Следующий митап будет 18 июня.
Зарегистрироваться можно здесь
Если же захотели стать спикером

PS, а еще как член ПК Holy.js я бы очень сильно хотел видеть заявки на доклады по Vue экосистеме у нас. Поэтому если у вас есть идеи или желания, то welcome (возможно даже выступление удаленно)

#мероприятия
Forwarded from Vueist
Невнимательность и реактивность

Недавно в чате человек столкнулся с проблемой, что "меняя нереактивный массив он видел изменения в рендере". В чате сразу начали возникать: мол раз reactive был передан, то это уже реактивный массив. Давайте разбираться

1. Меняется ли исходный объект при передачи в reactive?
Нет. Объект сам не меняется, однако Proxy создаваемое от reactive будет мутировать именно переданный объект. Возможно это очевидно, но:
- во Vue2 редактировался исходный объект. Там каждое поле объекта становилось getter + setter (при этом во всю глубину) и конечно же такой подход имел свои последствия.
- В других фреймворках, например Svelte может быть иное поведение. Там Proxy лишь основывается на начальном объекте и мутации не идут в исходный объект

2. Отслеживает ли Vue мутации в исходном нереактивном объекте?
Нет. Однако, Proxy все-таки основан на оригинальном объекте и если кто-то изменит объект, а потом это значение прочтут реактивно, то, конечно же, будет получено актуальное значение
const a = { hello: 0 }
const aReactive = reactve(a)
const b = ref(2)
const mult = computed(() => aReactive.hello * b.value)
console.log(mult.value) // 0 * 2 = 0
a.hello = 2
console.log(mult.value) // все еще 0, Vue не знает об обновлении
b.value = 1
console.log(mult.value) // 2 * 1 = 2, так как изменилось другое реактивное значение, то Vue пересчитал computed

Кажется очевидным, но в Svelte опять же после создания реактивного значения связь с нереактивным теряется

Вот по сути 2 ключевых момента которые ввели в ступор разработчика, он не заметил, что каждую секунду из-за useFps у него происходил ререндр компонента и не мог понять почему видит обновления в нереактивных данных.

Однако затронем пару еще интересных моментов:

Знает ли Vue, что уже существует Proxy для отслеживания конкретного объекта?
Да. Vue имеет специальные WeakMap-ы со всеми существующими Proxy от реактивности (но доступа к ним прямого нет, он спрятан в исходниках @vue/reactivity)
Проверить это достаточно легко:
const a = { hello: 0 }
const aReactive1 = reactive(a)
const aReactive2 = reactive(a)
console.log(aReactive1 === aReactive2) // true

Это важная часть оптимизация реактивности Vue позволяющая существенно экономить память при работе с объектами, так как на каждый объект не более 1 соответствующего Proxy. Однако у вас нет к этому доступа

Есть ли какие-то данные в Proxy от reactive которых нет в исходном объекте?
Есть, их не существует в объекте, но Proxy особым образом проверяет на доступ к ним. И это ReactiveFlags и хотя у вас есть доступ к этим флагам, все-таки лучше использовать соответсвющие утилити функции от Vue
console.log(aReactive[ReactiveFlags.IS_REACTIVE] === isReactive(aReactive))
// и тд


#learn #reactivity
Forwarded from MSK VUE.JS News
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from MSK VUE.JS News
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Nuxt.js | Vue SSR News (Loveless)
🚀 Вышла первая альфа-версия Nuxt 4!

Изначально Nuxt 4 планировался к выпуску в июне 2024, однако команда пересмотрела подход:

Альфа-версия: июнь 2025 (уже доступна!)
Стабильный релиз: конец июня 2025
Nuxt 5: позже, после готовности Nitro v3

🔥 Ключевые изменения

⚡️ Nitropack v3 nightly
Самое значимое обновление — интеграция с Nitropack v3 nightly, что обещает улучшенную производительность и новые возможности.

🎨 Обновленные UI-шаблоны
Шаблоны пользовательского интерфейса полностью обновлены под брендинг v4.

📦 Масштабные обновления зависимостей
Обновлены до последних версий ключевые зависимости: c12, jiti, unbuild, unimport и множество других.

📋 Что планируется в ближайшие недели
Pull Request'ы для модулей сообщества в nuxt/modules registry
Полный гайд по миграции с Nuxt 3 на Nuxt 4
Только багфиксы для v3 в этом месяце
Обновление документации на nuxt.com с переключением между версиями
Release Candidate планируется на 23 июня

⚠️ Важные моменты для разработчиков

На стадии альфы:
Планируются дополнительные breaking changes
Возможны баги и "трения" в использовании

На стадии беты:
Breaking changes не планируются, но могут быть при необходимости
На стадии RC:
Только исправления багов

🧪 Как попробовать
Команда призывает early adopters (ранних пользователей) тестировать новую версию и сообщать о найденных проблемах в репозиторий Nuxt или используемых модулей.
Следить за прогрессом можно через Nuxt 4 milestone на GitHub.