Forwarded from Tamerlan
Хабр
Рецензия на книгу “Изучаем Vue: основные концепции и практические паттерны”
Книга « Изучаем Vue: основные концепции и практические паттерны для современных и масштабируемых пользовательских интерфейсов » — это сжатое практическое руководство по Vue.js, ориентированное на уже...
Интересная аналогия 💚
🛻 Nuxt (SSR) — фуд-трак: открываешь сайт — и «бургер» контента уже в руках.
🏠 Vue SPA — домашняя кухня: сначала тянем ингредиенты (JS), потом готовим прямо в браузере.
Nuxt даёт мгновенный первый экран и любовь поисковиков, SPA удобнее для внутренних кабинетов, где SEO не важно. Выбирайте, что вкуснее вашему проекту!
🛻 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 теперь умнее: несколько вызовов с одним ключом будут использовать одну и ту же реактивную ссылку. Плюс поддержка реактивных ключей — если что-то поменялось, данные сами перезагрузятся без лишнего шума.
🐊 Новый
👀 Кстати о компонентах — Переработали NuxtErrorBoundary, теперь это SFC (ну ладно), и теперь помимо
🐸 И ещё немного о компонентах. Добавили пропс
✏️ Доку вынесли в отдельный npm-пакет —
🍪 Для разработчиков модулей тоже есть улучшения — добавлен флаг
🔥 Куда же без перформанса? Перешли на tinyglobby — меньше зависимостей (2 vs 23), быстрее сборка. Зацените https://e18e.dev/, если хотите у себя тоже выкинуть какие-то тяжёлые зависимости (из проекта). Еще почистили список папок, чтобы ускорить тайпчекинг.
Полный пост, как всегда, в блоге
Вышел Nuxt 3.17, несмотря на все сложности
<NuxtTime>
— Теперь можно рендерить дату и время без ошибок гидрации (Раньше тоже было можно, просто теперь отдельный компонент завезли).error
в слот с ошибкой передаётся ещё и функция clearError
(а вот это уже ничего себе)trailing-slash
прямо в <NuxtLink>
, чтобы аккуратно управлять тем, будут ли слэши в ваших урлах.@nuxt/docs
. Ребята пилят свой mcp-сервер, так что это скорее для них, чем для нас.experimental.enforceModuleCompatibility
. Модули теперь проверяются на совместимость с v3 (v4 держим в уме) заранее. И хук addComponentExports
, чтобы добавить именованным компонентам в модуле возможность автоимпорта.Полный пост, как всегда, в блоге
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Weekly Vue News (Weekly Vue News Admin)
📢 Issue 195 is Out!
I published a new issue of my weekly Vue & Nuxt newsletter.
🔗 Check it out: https://weekly-vue.news/issues/v2/159
I published a new issue of my weekly Vue & Nuxt newsletter.
🔗 Check it out: https://weekly-vue.news/issues/v2/159
Weekly Vue News
Weekly Vue News #195 - Nuxt UI v3.1, Nuxt Charts, Nuxt Crash Course | Weekly Vue News
This weekly Vue & Nuxt newsletter gives you high-quality tips and curated content to help you become a Vue & Nuxt expert.
Forwarded from Weekly Vue News (Weekly Vue News Admin)
📢 Issue 196 is Out!
I published a new issue of my weekly Vue & Nuxt newsletter.
🔗 Check it out: https://weekly-vue.news/issues/v2/160
I published a new issue of my weekly Vue & Nuxt newsletter.
🔗 Check it out: https://weekly-vue.news/issues/v2/160
Weekly Vue News
Weekly Vue News #196 - Nuxt 3.17 is out | Weekly Vue News
This weekly Vue & Nuxt newsletter gives you high-quality tips and curated content to help you become a Vue & Nuxt expert.
Немножко про кеширование ответов в Наксте 💚
https://supersaas.dev/blog/cache-an-api-response-in-nuxt/
https://supersaas.dev/blog/cache-an-api-response-in-nuxt/
Please open Telegram to view this post
VIEW IN TELEGRAM
supersaas.dev
Cache an API response in Nuxt
Learn how to cache an API response in client side and use it everywhere in your app.
Forwarded from MSK VUE.JS News
Всем привет 🙂
Это мы идем с крутыми новостями🤪
Алярм: мы открываем регистрацию на новый митап!
📆 29 мая 2024, 19:00
📍 Мск, Крылатская 15, Офис Lamoda
👉 РЕГИСТРАЦИЯ👈
В 13-ый раз команда сообщества MskVue.js соберет единомышленников в офисе Lamoda!
Вас ждут 3 доклада, розыгрыш мерча за лучший вопрос спикеру и просто тонна общения с крутыми разрабами 🙂
Совсем скоро мы представим наших спикеров, поэтому не переключайтесь 🙂
А еще, самое время зарегистрироваться на митап и забить место в своих календариках, чтобы не пропустить этот движ, ведь количество мест ограничено.
Передаем привет главному спонсору #13 митапа - Lamoda Tech 💚
Увидимся совсем скоро🤍
Это мы идем с крутыми новостями🤪
Алярм: мы открываем регистрацию на новый митап!
👉 РЕГИСТРАЦИЯ👈
В 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 мая улетаю в дали далёкие, грустно это конечно 😭
Я к сожалению пропущу этот митап так как 23 мая улетаю в дали далёкие, грустно это конечно 😭
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Vueist
С постами туго, так как готовлюсь к митапу ссылка на который выше, скоро там будет уже анонс доклада (по секрету это о работе с композаблами).
Но только вот не у всех есть возможность оказаться в каком-то городе для оффлайн мероприятия (на мероприятии выше трансляция и запись будет). И вот я наткнулся на еще один митап: Vuejs Talks от кор команды Vuestic UI. Митап проходит в онлайн формате на английском, так что это шанс получить общение или даже выступить впервые на английском языке (я себе галочку уже поставил, что планирую это сделать).
Самая классная часть, что проводится митап регулярно фактически каждый месяц. Следующий митап будет 18 июня.
Зарегистрироваться можно здесь
Если же захотели стать спикером
PS, а еще как член ПК Holy.js я бы очень сильно хотел видеть заявки на доклады по Vue экосистеме у нас. Поэтому если у вас есть идеи или желания, то welcome (возможно даже выступление удаленно)
#мероприятия
Но только вот не у всех есть возможность оказаться в каком-то городе для оффлайн мероприятия (на мероприятии выше трансляция и запись будет). И вот я наткнулся на еще один митап: Vuejs Talks от кор команды Vuestic UI. Митап проходит в онлайн формате на английском, так что это шанс получить общение или даже выступить впервые на английском языке (я себе галочку уже поставил, что планирую это сделать).
Самая классная часть, что проводится митап регулярно фактически каждый месяц. Следующий митап будет 18 июня.
Зарегистрироваться можно здесь
Если же захотели стать спикером
PS, а еще как член ПК Holy.js я бы очень сильно хотел видеть заявки на доклады по Vue экосистеме у нас. Поэтому если у вас есть идеи или желания, то welcome (возможно даже выступление удаленно)
#мероприятия
YouTube
Vue.jsTalks | Frontend Community by Vuestic Team
Your hub for Vue.js news, frontend trends, and top web development practices.
🔹 Stay updated on the latest Vue.js ecosystem changes and best coding techniques.
🔹 Learn from expert talks, deep dives, and real-world case studies.
🔹 Connect with the Vue.js and…
🔹 Stay updated on the latest Vue.js ecosystem changes and best coding techniques.
🔹 Learn from expert talks, deep dives, and real-world case studies.
🔹 Connect with the Vue.js and…
Forwarded from Vueist
Невнимательность и реактивность
Недавно в чате человек столкнулся с проблемой, что "меняя нереактивный массив он видел изменения в рендере". В чате сразу начали возникать: мол раз reactive был передан, то это уже реактивный массив. Давайте разбираться
1. Меняется ли исходный объект при передачи в reactive?
Нет. Объект сам не меняется, однако Proxy создаваемое от reactive будет мутировать именно переданный объект. Возможно это очевидно, но:
- во Vue2 редактировался исходный объект. Там каждое поле объекта становилось getter + setter (при этом во всю глубину) и конечно же такой подход имел свои последствия.
- В других фреймворках, например Svelte может быть иное поведение. Там Proxy лишь основывается на начальном объекте и мутации не идут в исходный объект
2. Отслеживает ли Vue мутации в исходном нереактивном объекте?
Нет. Однако, Proxy все-таки основан на оригинальном объекте и если кто-то изменит объект, а потом это значение прочтут реактивно, то, конечно же, будет получено актуальное значение
Кажется очевидным, но в Svelte опять же после создания реактивного значения связь с нереактивным теряется
Вот по сути 2 ключевых момента которые ввели в ступор разработчика, он не заметил, что каждую секунду из-за
Однако затронем пару еще интересных моментов:
Знает ли Vue, что уже существует Proxy для отслеживания конкретного объекта?
Да. Vue имеет специальные
Проверить это достаточно легко:
Это важная часть оптимизация реактивности Vue позволяющая существенно экономить память при работе с объектами, так как на каждый объект не более 1 соответствующего Proxy. Однако у вас нет к этому доступа
Есть ли какие-то данные в Proxy от reactive которых нет в исходном объекте?
Есть, их не существует в объекте, но Proxy особым образом проверяет на доступ к ним. И это
#learn #reactivity
Недавно в чате человек столкнулся с проблемой, что "меняя нереактивный массив он видел изменения в рендере". В чате сразу начали возникать: мол раз 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
и хотя у вас есть доступ к этим флагам, все-таки лучше использовать соответсвющие утилити функции от Vueconsole.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.
Изначально 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.
Forwarded from Weekly Vue News (Weekly Vue News Admin)
📢 Issue 202 is Out!
I published a new issue of my weekly Vue & Nuxt newsletter.
🔗 Check it out: https://weekly-vue.news/issues/v2/166
I published a new issue of my weekly Vue & Nuxt newsletter.
🔗 Check it out: https://weekly-vue.news/issues/v2/166
Weekly Vue News
Weekly Vue News #202 - Efficient Vue Lists, Nuxt Multi-Tenancy, and More | Weekly Vue News
This weekly Vue & Nuxt newsletter gives you high-quality tips and curated content to help you become a Vue & Nuxt expert.
Forwarded from Vue-FAQ
VK Видео
Композируем композаблы — практики и приемы в написании композаблов. Денис Чернов, программист SM Lab
Доклад с митапа MskVue.js #13 от сообщества MSK VUE.JS и Lamoda Tech Сomposition API может вскружить голову своими возможностями и во главе угла стоят Композаблы. Что это такое и какими приемами можно подчинить их у себя на проекте, чтобы работа с ними приносила…