Гайды по JavaScript | Программирование
8.18K subscribers
3.15K photos
75 videos
20 files
3.2K links
Наглядные и доступные гайды в картинках по языку программирования JavaScript

Связь: @devmangx
Download Telegram
Почему оптимизация приложений Vue для производительности имеет значение

В современном веб-ландшафте производительность - это не просто приятная мелочь, она необходима для:
Улучшения пользовательского опыта и вовлеченности
Повышения конверсии и улучшения бизнес-показателей
Повышение SEO-рейтинга и видимости
Сокращения расходов на сервер и использование ресурсов

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Прощай, dotenv 💔

В Node теперь можно читать .env файл без установки каких-либо зависимостей.

С помощью метода: process.loadEnvFile()

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
Как я управлял аутентифицированными API-клиентами с безопасностью типа с помощью Hono.js

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Что ты знаешь о паттерне проектирования Form Component?

v-model на нативных полях ввода — это круто
И мы можем применить похожий подход к целым формам.

Такая схема учитывает, как пользователи взаимодействуют с формой:
они ожидают, что данные будут "зафиксированы" только после нажатия кнопки Submit.

Кроме того, этот подход отлично работает с нативной валидацией:
событие submit не срабатывает, пока встроенная проверка браузера не пройдена.

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Смотри, как просто защитить маршруты дэшборда.

Максимально чисто, по TanStack'овски:

никакой возни с редиректами на новые URL,
никаких акробатик в middleware.ts.

Кода минимум. Всё читаемо.

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Понимание предварительной загрузки компонентов во Vue

В типичном приложении на Vue.js компоненты подгружаются по мере необходимости — это называется ленивой загрузкой (lazy loading) или разделением кода (code splitting). Такой подход уменьшает размер начального бандла, но может вызывать небольшие задержки при первом обращении к компоненту.

Предварительная загрузка компонентов решает эту проблему, инициируя загрузку заранее — как правило, при проявлении пользователем намерения взаимодействовать с компонентом (например, при наведении на кнопку).

Типовые сценарии использования предварительной загрузки компонентов во Vue:

✔️Модальные окна и попапы
✔️Формы с пошаговым интерфейсом (wizard'ы)
✔️Компоненты для визуализации данных
✔️Редакторы с расширенным UI (например, rich text editors)
✔️Любые тяжёлые или не отображающиеся сразу компоненты

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Эффектная библиотека JavaScript для создания слайдеров с анимацией и эффектом параллакса.

> pnpm i smooothy

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Как работает система предзагрузки (Vue + Vite) 👀

🔸Определение компонента:
Мы используем defineAsyncComponent для создания компонента, который будет загружаться асинхронно. Это основа для разделения кода (code splitting) в Vue.

🔸Импорт-функции:
Мы отдельно определяем функции импорта (loadComponent и loadRoute), которые возвращают динамические импорты. Поскольку в Vite нельзя использовать "магические" комментарии Webpack, эти функции и выступают в роли механизма предзагрузки.

🔸Триггер-события:
Предзагрузка реализуется через событие @mouseenter. Когда пользователь наводит курсор на элемент, вызывается соответствующая функция импорта, и начинается загрузка кода.

🔸 Условный рендеринг:
Сам компонент отрисовывается только при необходимости (это управляется, например, через ref show), но благодаря предзагрузке код уже находится в памяти.

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Nuxt 4.0 официально вышел! Включает в себя ряд обновлений функций и небольшой список критичных изменений, о которых стоит знать.

Хотите подробный разбор с примерами кода по самым важным изменениям? Смотрите полный курс:
https://vueschool.io/courses/what-s-new-in-nuxt-4

Или быстрое видеообзор здесь:
https://youtu.be/wx5_FVjbC9c

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
1
В версии Angular 20.2
🆕 Новая нативная анимация

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Лучшая альтернатива lodash

Библиотека утилит для JavaScript

✓ Без внешних зависимостей
✓ debounce, pick, chunk, cloneDeep, countBy...
✓ Оптимизирована для Node 18+ и современных браузеров

pnpm install es-toolkit


import { debounce, pick, chunk } from 'es-toolkit'

// 1. pick — выбирает конкретные свойства из объекта
const user = { name: 'Midu', email: 'midu@gmail.com', edad: 40 }
const profile = pick(user, ['name'])
console.log(profile) // { name: 'Midu' }

// 2. chunk — разбивает массив на группы
const nums = [1, 2, 3, 4, 5, 6, 7]
console.log(chunk(nums, 3))
// Результат: [[1, 2, 3], [4, 5, 6], [7]]

// 3. debounce — откладывает выполнение до завершения ввода
const debouncedSearch = debounce(query => {
console.log('Поиск:', query)
}, 500) // задержка 0.5 с

const searchInput = document.getElementById('buscador')
searchInput.addEventListener('input', e => {
debouncedSearch(e.target.value)
})


👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Проверьте экземпляр FetchError в Nuxt для безопасной обработки ошибок в запросах на выборку

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Все еще пишете JavaScript сложным способом?
Вот решение, которое вы будете использовать всегда

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Совет по Javascript

Знаете ли вы об этом более простом способе получения/установки параметров запроса URL?

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
5 БЕСПЛАТНЫХ инструментов для веб-разработчиков

http://warp.dev - Альтернатива Claude Code

http://sevalla.com - Full-stack хостинг и бесплатный статический сайт

http://usehooks.com - React hooks с примерами

http://ray.so - Создание изображений из фрагментов кода

http://sarthology.github.io/Animatopy - Анимационные сниппеты CSS

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Node.js v22.18.0 вышел

По умолчанию включена очистка типов

Теперь можно выполнять TypeScript-файлы без дополнительной настройки
$ echo 'const foo: string = "World"; console.log(`Hello ${foo}!`);' > file.ts
$ node file.ts
Hello World!


Фича экспериментальная. Отключается флагом --no-experimental-strip-types

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Eloquent JavaScript Марейна Хавербеке — отличный (и бесплатный!) ресурс как для начинающих, так и для опытных разработчиков:
понятные объяснения, практические проекты и даже отдельная глава, посвящённая асинхронному программированию.

Ссылка: https://eloquentjavascript.net

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Трюк JavaScript: Используйте toSorted() для чистой, неизменяемой сортировки

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM