-
Урок 1.
00:10:55
0.1. Вводный урок. Организация. Работа с материалом
-
Урок 2.
01:58:29
0.2 Вводный стрим
-
Урок 3.
00:28:38
1 Начало разработки Основы Webpack. Добавляем TypeScript Метка
-
Урок 4.
00:11:02
2 Декомпозиция конфига. Опции конфигурации
-
Урок 5.
00:11:49
3 Webpack-dev-server. Переменные окружения (env)
-
Урок 6.
00:07:10
4 Подключаем React и настраиваем css в webpack метка
-
Урок 7.
00:15:18
5 Настраиваем css modules
-
Урок 8.
00:12:45
6 Роутинг Code splitting Lazy Suspence метка
-
Урок 9.
00:18:00
7 Организация стилей. Добавляем темы
-
Урок 10.
00:10:48
8 classNames создаем git репозиторий
-
Урок 11.
00:08:10
9 Архитектура. введение. Теория
-
Урок 12.
00:13:35
10 Архитектура. Начинаем внедрять. Основы метка
-
Урок 13.
00:06:02
11 AppRouter. Конфиг для роутера
-
Урок 14.
00:17:17
12 Navbar. Шаблоны для разработки. Первый UI Kit компонент
-
Урок 15.
00:14:32
13 Svg loader. File loader. Button UI kit
-
Урок 16.
00:09:07
14 Sidebar. Layout приложения Метка
-
Урок 17.
00:19:07
15 i18n Интернационализация. Define plugin. Плагин для переводов
-
Урок 18.
00:02:34
16 Webpack hot module replacement
-
Урок 19.
00:08:37
17 Babel. Extract plugin [optional]
-
Урок 20.
00:16:14
18 Настраиваем EsLint. Исправляем ошибки
-
Урок 21.
00:07:42
19 Stylelint. Plugin for i18next
-
Урок 22.
00:13:19
20 Тестовая среда. Настраиваем Jest. Пишем первый тест Метка
-
Урок 23.
00:09:42
21 Несуществующие маршруты. Лоадер для загрузки страниц
-
Урок 24.
00:14:06
22 ErrorBoundary. Обработка React ошибок
-
Урок 25.
00:05:16
23 Анализ размера банда. BundleAnalyzer
-
Урок 26.
00:27:07
24 React Testing Library. Тесты на компоненты метка
-
Урок 27.
00:35:29
25 Настраиваем Storybook. Декораторы. Стори кейсы на компоненты
-
Урок 28.
00:09:51
26 Скриншотные тесты. Loki. Регрессионное UI тестирование
-
Урок 29.
00:21:44
27 CI pipeline. Автоматизация прогона тестов метка
-
Урок 30.
00:36:38
28 Сайдбар. Состояния кнопки. UI Screenshot test report
-
Урок 31.
00:39:25
29 Модальное окно. Portal
-
Урок 32.
00:38:39
30 Redux-toolkit. Entity. Тесты на всех уровнях МЕТКА
-
Урок 33.
00:05:00
31 Исправляем глобальные стили для Modal
-
Урок 34.
00:07:38
31.1 Json server. Имитация бэкенда
-
Урок 35.
00:34:50
32 Кастомный Input. Окно авторизации. Lazy modal МЕТКА
-
Урок 36.
00:04:56
33 Husky. Pre commit хуки
-
Урок 37.
00:53:59
34 Авторизация. Reducers, slices, async thunk. Custom text МЕТКА
-
Урок 38.
00:44:47
35 Оптимизация. Асинхронные редюсеры. Размер бандла
-
Урок 39.
00:23:53
36 Тестирование фичи authByUsername. TestAsyncThunk
-
Урок 40.
00:35:34
37 Страница профиля. Оптимизация перерисовок. Учимся использовать memo
-
Урок 41.
00:14:47
38 Инстанс API. ApiUrl
-
Урок 42.
00:15:52
39 Модуль профиля. Фетчинг данных. TS strict mode
-
Урок 43.
00:27:43
40 Чиним типы и проект после TS strict mode. ThunkConfig
-
Урок 44.
01:15:00
41 Большой урок. Модуль профиля. Avatar. Редактирование и сохранение.
-
Урок 45.
00:11:04
42 Валидация профиля. Коды ошибок
-
Урок 46.
00:32:27
43 Переменная __PROJECT__. Тесты на модуль профиля
-
Урок 47.
00:04:01
44 Color pallete. Внедряем новую третью тему
-
Урок 48.
00:06:31
45 npm concurrently. File templates
-
Урок 49.
00:06:01
46 React refresh plugin. build babel loader
-
Урок 50.
00:08:13
47 Router v6 private protectеd routes. Защищенные маршруты
-
Урок 51.
00:12:48
48 ArticlesPage и ArticleDetailsPage. Декомпозиция. Сущности.
-
Урок 52.
00:39:46
49 Entity article, async thunk, slices. Блоки. Skeleton loader
-
Урок 53.
00:46:16
50 Страница статьи. Блочная структура. Компонент Code. Копирование МЕТКА
-
Урок 54.
00:48:36
51 Модуль комментариев. Нормализация данных. EntityAdapter МЕТКА
-
Урок 55.
00:43:39
52 Профили пользователей. Фича addCommentForm
-
Урок 56.
00:04:29
53 Апгрейд сайдбара. Селекторы
-
Урок 57.
00:52:24
54 Список статей. useHover. Переключение вида
-
Урок 58.
00:22:20
55 Статьи. EntityAdapter, thunks, slices. View selector
-
Урок 59.
00:33:38
56 Пагинация. Page. Бесконечная лента. Observer API. useInfiniteScroll
-
Урок 60.
00:15:30
57 Инициализация страницы. Чиним монтирование Store. Mounted reducers
-
Урок 61.
00:16:04
58 Троттлинг. useThrottle. UI state. Сохранение позиции скролла МЕТКА
-
Урок 62.
01:03:19
59 Большой урок. Фильтры. Сортировка. Поиск. Tabs. useDebounce
-
Урок 63.
00:22:51
60 Список рекомендаций. Группируем редюсеры. Скроллбар МЕТКА
-
Урок 64.
00:15:35
61 Создание и редактирование статей. Pages
-
Урок 65.
00:16:13
62 CopyPlugin. Подготовка к продакшну. Публикуем на Netlify МЕТКА
-
Урок 66.
00:26:49
63 Оптимизация больших списков. Виртуализация
-
Урок 67.
00:29:38
64 ESlint. Пишем свой плагин. Анализ AST дерева МЕТКА
-
Урок 68.
00:28:36
65 Позиционирование элементов. Отступы по дизайн системе
-
Урок 69.
00:07:06
66 Семантика МЕТКА
-
Урок 70.
00:33:16
67 Headless UI. React aria. Listbox
-
Урок 71.
00:22:44
68 Dropdown. User avatar МЕТКА
-
Урок 72.
00:09:16
69 Генератор фичей сущностей страниц на node js
-
Урок 73.
00:44:46
70 RTK query. Начало большого рефакторинга МЕТКА
-
Урок 74.
00:04:44
71 HTML report для тестов
-
Урок 75.
00:21:15
72 Исправляем баг с виртуализацией. Пишем RTL тесты на карточку профиля
-
Урок 76.
00:16:08
73 Роли пользователя. Доступ по ролям. Forbidden page
-
Урок 77.
00:01:11
74 Исправляем проблемы со STACK МЕТКА
-
Урок 78.
00:23:34
75 Миграция на 18 реакт. Рефакторинг. Storybook mock addon
-
Урок 79.
00:10:05
76 TS isolatedModules. Рефакторинг. Подготовка к миграции на babel loader МЕТКА
-
Урок 80.
00:04:04
77 CircularDependency. Кольцевые зависимости
-
Урок 81.
00:17:30
78 Миграция на babel loader. Выносим проверку типов в отдельный процесс
-
Урок 82.
00:36:26
79 Popover. NotificationList. RTK query. Polling
-
Урок 83.
00:13:04
80 Drawer. Overlay. React-device-detect. Мобилки и десктоп МЕТКА
-
Урок 84.
00:06:04
81 useModal. Рефакторинг Modal и Drawer
-
Урок 85.
00:21:51
82 Динамический импорт. Lazy библиотеки. Провайдер. Gesture, React spring МЕТКА
-
Урок 86.
00:11:25
83 Алиасы. Ts Morph. Автоматизация рефакторинга
-
Урок 87.
00:04:48
84 BrowserList. Размер бандла. Исправляем Drawer animation provider МЕТКА
-
Урок 88.
00:09:13
85 Настраиваем Vite. Быстрая сборка для dev
-
Урок 89.
00:27:01
86 StarRating. Модульный подход. Оценка статьи и профиля
-
Урок 90.
00:25:03
87 Имплементация оценки для статьи. RTK mutations, queries МЕТКА
-
Урок 91.
00:07:32
88 Алиасы в сторибуке. Приводим сторибук в порядок
-
Урок 92.
00:08:36
89 Опции в линтере. Добавляем поддержку алисов в наш eslint плагин МЕТКА
-
Урок 93.
00:12:43
90 Ограничиваем доступ к внутренностям модуля. Public api imports
-
Урок 94.
00:11:18
91 Testing public api. Micromatch. Тесты на eslint плагин
-
Урок 95.
00:03:44
92 Рефакторинг конфига роутера МЕТКА
-
Урок 96.
00:17:41
93 Layer imports. Улучшаем правила арх-ры. Запрещаем импорт из верхних слоев
-
Урок 97.
00:12:38
94 Shared UI public api. Автоматизация рефакторинга
-
Урок 98.
00:02:18
95 ESLINT Плагин на неиспользуемые импорты МЕТКА
-
Урок 99.
00:07:20
96 Делаем автофикс для public api линтера
-
Урок 100.
00:09:50
97 Документация проекта
-
Урок 101.
00:05:49
98 Алиасы в jest. Fullscreen mode storybook МЕТКА
-
Урок 102.
00:03:51
99 Storybook addon theme
-
Урок 103.
00:03:23
100 Generic components МЕТКА
-
Урок 104.
00:02:40
101 Однозначное сопоставление типов в ReducersList
-
Урок 105.
00:07:01
102 Улучшаем и стандартизируем работу с роутером
-
Урок 106.
00:05:41
103 Рефакторинг entities и features МЕТКА
-
Урок 107.
00:08:04
104 Улучшаем сборку. Babel loader cache. Postinstall hooks МЕТКА
-
Урок 108.
00:12:56
105 BuildSlice. BuildSelector. Улучшаем работу со state. useActions МЕТКА
-
Урок 109.
00:11:47
106 Работа с изображенями. AppImage, Preload, lazy МЕТКА
-
Урок 110.
00:09:11
107 Тесты на роутер. Обновляем RTL МЕТКА
-
Урок 111.
00:03:08
108 Lint staged и pre commit хуки МЕТКА
-
Урок 112.
00:07:57
109 Генерация отчета для скриншотных тестов в CI. Github pages and jobs МЕТКА
-
Урок 113.
00:04:52
110 Отчет для юнит тестов в CI МЕТКА
-
Урок 114.
00:10:17
111 Автофикс для ESLINT правила на относительные пути
-
Урок 115.
00:10:38
112 Исправляем проблемы с зависимостями. Обновляем сторибук
-
Урок 116.
00:20:32
113 Введение в е2е тестирование с Cypress. Тесты на роутер МЕТКА
-
Урок 117.
00:36:40
114 e2e тесты. Запросы, авторизация. тесты на профиль, статью, комменты, оценку
-
Урок 118.
00:11:43
115 Моки. Стабы. Фикстуры. Скип тестов. Интерцепторы на запросы и фикстуры
-
Урок 119.
00:12:08
116 Изолированные тесты на компоненты с Cypress МЕТКА
-
Урок 120.
00:13:47
117 Prettier для форматирования кода. Интегрируем с eslint
-
Урок 121.
00:12:15
118 Облачный сервер. SSH. Git. Удаленный сервер МЕТКА
-
Урок 122.
00:10:30
119 Nginx. Конфигурация. Взаимодействие с сервером
-
Урок 123.
00:10:09
120 nginx gzip. Сжимаем файлы. Подключаем домен. pm2 для сервера МЕТКА
-
Урок 124.
00:16:56
121 SSL. Сертификат. Настраиваем https
-
Урок 125.
00:11:12
122 Проксирование запросов. Query params
-
Урок 126.
00:10:42
123 Скрипт для деплоя. getApiUrl МЕТКА
-
Урок 127.
00:06:21
124 Селекторы с аргументами. Типизация buildSelector МЕТКА
-
Урок 128.
00:12:34
125.1 Модели ветвления Git. Trunk based vs Git Flow
-
Урок 129.
00:10:39
125.2 концепция Feature flags. Постепенное внедрение новых фичей МЕТКА
-
Урок 130.
00:27:25
126 Унификация работы с флагами. Автоудаление старых фич МЕТКА
-
Урок 131.
00:25:53
127 Json Settings. Настройки пользователя. Localstorage на максималках МЕТКА
-
Урок 132.
00:08:51
128 Запрос на получение пользователя. Избавляемся от заглушки в Localstorage МЕТКА
-
Урок 133.
00:05:49
129 Практическое применение json settings. Работа с новыми пользователями МЕТКА
-
Урок 134.
00:16:04
130 ToggleFeatures. Обвязка для работы с компонентами. Автоудаление МЕТКА
-
Урок 135.
00:32:14
131 Макеты. Layout. Гриды. Шрифты. Цвета МЕТКА
-
Урок 136.
00:06:12
132 SVGR. Обработка размеров и цветов иконки на этапе сборки
-
Урок 137.
00:05:19
133 Редизайн UI kit. Помечаем старые компоненты deprecated МЕТКА
-
Урок 138.
00:33:42
134 Редизайн Sidebar. Иконки. Кнопки. Ссылки
-
Урок 139.
00:24:04
135 Редизайн Navbar, dropdowns, работа с текстом МЕТКА
-
Урок 140.
00:36:48
136 Sticky Layout для статей. Редизайн табов, фильтров
-
Урок 141.
00:16:05
137 addon left right. Инпут, кнопка. Pixel perfect plugin проверка МЕТКА
-
Урок 142.
00:24:10
138 Редизайн карточки профиля
-
Урок 143.
00:03:41
139 Исправляем скрипт, градиент на иконке, недочеты МЕТКА
-
Урок 144.
00:15:33
140 Редизайн ленты статей
-
Урок 145.
00:08:43
141 Редизайн плиточного отображения статей МЕТКА
-
Урок 146.
00:15:18
142 Переключение нового и старого дизайна. Страница настроек. Обновление фичей
-
Урок 147.
00:04:26
143 Рефакторинг портала, модалки, шторки МЕТКА
-
Урок 148.
00:16:24
144 Виджет с доп инфой о статье. i18n плюральные формы
-
Урок 149.
00:14:22
145 Редизайн ArticleDetails МЕТКА
-
Урок 150.
00:17:48
146 Редизайн рейтинга, комментариев
-
Урок 151.
00:13:10
147 Редизайн модалок, устранение мелких недочетов МЕТКА
-
Урок 152.
00:09:27
148 ForceUpdateProvider костыль. Обновляем интерфейс МЕТКА
-
Урок 153.
00:04:59
149 Редизайн скролла. Фикс скелетона МЕТКА
-
Урок 154.
00:09:10
150 AppLoaderLayout. Fallback для темы и выбранно
-
Урок 155.
00:12:05
151 Toolbar как часть Layout. ScrollToolbar. useCurrentRoute
-
Урок 156.
00:13:21
152 HOC withTheme, чиним сторибук, поддерживаем feature flags в сторибуке
-
Урок 157.
00:04:47
153 Проверяем автоматику по удалению всех фича флагов
-
Урок 158.
00:04:13
154 ValidateDOMNesting, forwardRef, исправляем проблемы
Лоадеры отрабатывают справа налево, снизу вверх.
Они и без этого отлично работают и чанки подгружаются только в момент рендера страницы.
Не до конца понял этот момент.
Все что импортится динамически попадает в отдельные чанки, для этого не нужно дополнительной обертки над каждой page.
Сам попробуй и увидишь.
Ничего не подгружается до того момента, пока страница не будет отрендерена
Подгружается только один чанк с текущей страницей
Разве стандартный create-react-app не обладает уже таким же функционалом?
почему то у файла расширение TS и весит он 450мб. У остальных тоже так?
Очень жаль, что всем известный персонаж решил начать войну. Мы молимся за Украину и за мир!
...
Пользуешься благами "иноагентов "и пиздишь тут
Подумаешь, какие-то 40К рублей.
Или, как минимум, сходи на складчину. Купи за 370 рублей. И всех своих собратьев, которые поддерживают тебя, прихвати с собой) Никто не возражает.
https://skladchik.com/threads/ulbitv-ru-prodvinutyj-frontend-v-production-na-react.380297/
Украинцы воюют за свои территории. За свободу против агрессии! А вот, что российские войска делают на территории Украины (включая, Крым)? Путин боится потерять своё место, уже 4 срок сидит (включая Медведева), а такие свободные как ты защищаете его власть)))))) Ну-ну... и главное, выйти не можете, заявить о себе, потому что запакуют вас (свободных) очень быстро.
В общем, не убедительно про рабство) Особенно, когда, можно сказать, весь мир (включая русскоязычное население, восточной Украины) против России. Благодаря, твоему царьку и его пропагандонским каналам)
Ты заходи, если чё....
Ничтожество, теперь ты знаешь, что сайт сделал твой кровный враг - украинец, поэтому если идейный - пиздуй. Если пиздабол, то оставайся. ))
Ты полнейший дебил, но никогда этого не осознаешь и в целом, не виноват в этом, потому что рос в хуёвых условиях, с хуёвыми друзьями, с хуёвыми родители, но сути дели это не меняет - ты дебил и останешься им навсегда. Дебил неспособен просто так взять и осознать, что он дебил.
В общем, слава свободному народу Украины. Россия тоже, когда-нибудь будет свободной.
P.S. Дебил, спасибо за донат ВСУ. Твоя premium подписка идёт прямиком туда, безыдейный ты пиздабол )))
Спасибо coursehunter и Тимуру
Удобней когда все 50 плагинов в 1 файле, чем открывать 50 вкладок и смотреть какие же там плагины. Общей картины нет.
Или это тот случай, когда надо учиться набирать код в блокноте? Пока ничего не понимаю, от реакта немого отошёл.
Vite это интересно, но:
1) Бесконечная борьба с чем-то что сломалось. Гигантское количество открытых issues, многие критикал важные открыты аж с 2021.
2) Много чего не поддерживает. Проблемы с source maps. Sentry нормально не завести. А с jest что делать? На vitest переходить? Там своих открытых issues полно.
3) Там уже как 2 года открыт out of memory issue, потому что жрёт оперативку как ненормальный. 20+гб легко вообще.
В общем, в своей песочнице, конечно, можно играть со всем подряд, но webpack ещё долго будет актуален в крупных компаниях на проектах, которые должны работать стабильно.
В NextJS его лучше использовать или Webpack?