NextJS 13. Оптимизация изображений

Ғылым және технология

Фреймворк NextJS предлагает собственный компонент Image для оптимизации картинок. Он позволяет автоматически генерировать современные форматы изображений, такие как webp и avif, разные размеры картинки под разные устройства, обеспечивает ленивую подгрузку и многое другое.
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep

Пікірлер: 57

  • @NikOroferov
    @NikOroferov11 ай бұрын

    Комментарий приемлемой длины в благодарность Михаилу

  • @user-wt8sq9om6c

    @user-wt8sq9om6c

    8 ай бұрын

    😅😅😅

  • @IT-Svyatoslav
    @IT-Svyatoslav11 ай бұрын

    Благодарю Михаил! Вы нам Очень помогаете!

  • @ilyaprotsenko1023
    @ilyaprotsenko102311 ай бұрын

    Спасибо! Ещё про параллельные роуты и перехватывающие роуты интересно было бы послушать в твоём исполнении)

  • @pink-doublethink
    @pink-doublethink11 ай бұрын

    Благодарен за хороший ролик за Имадж. В своё время всё это сам изучал через документацию и код библиотеки.

  • @user-hx6fl8ki9y
    @user-hx6fl8ki9y11 ай бұрын

    Огонь!) Спасибо, ждём продолжения!)

  • @olegsh2888
    @olegsh288811 ай бұрын

    Словил флэшбэки, как мы писали подобный компонент, но сами) Михаил, спасибо за обзорные ролики по Нексту! Я хоть на нем и не пишу, но смотрю, впитываю на будущее) Пытаюсь убедить бизнес перейти на него с самопального SSR. Уже почти смог)

  • @user-yl5kn9gq4p
    @user-yl5kn9gq4p2 ай бұрын

    Михаил очень круто просто классно преподносите учебный матерьял

  • @ShaftiloO
    @ShaftiloO10 ай бұрын

    Если не сложно, сделайте, пожалуйста, видео по актуальной локализации сайта в next js 13 - тк судя по всему, вариантов сделать это сейчас появилось много и все они очень различаются. Если добавите локализацию и рутов - вообще было бы супер

  • @arman-6172
    @arman-617211 ай бұрын

    Отличный материал и подача! Спасибо!) По картинкам хорошо бы ещё уточнить: 1. Если WebP не поддерживает браузер, то отдаст оригинал. При этом, если был оригинал WebP, то сконвертирует в JPG, что плохо, так как теряет альфа-канал. Держать все с прозрачностью в PNG тяжело по размеру. Не нашел конфиг, чтобы изменить такое поведение, кажется, захардкодили, судя по исходникам. 2. По sizes всё-таки подробнее рассказать, как оптимизирует, когда картинка не на весь экран, и как он работает с ретинами. 3. Кэширование нарезки превью. По умолчанию очень маленький кэш на время, а для больших картинок нужно держать огромный оригинал, что, соответственно, давит на CPU. В перспективе было бы здорово, если добавишь материалы продвинутого уровня, например: оптимизация под Lighthouse, тестирование, логирование браузерных ошибок, ISR на запрос от CMS, сборка в Docker-образ, мониторинг продакшн и т.д. =)

  • @alexanderkomanov4151
    @alexanderkomanov415111 ай бұрын

    Спасибо огромное!

  • @dimitriy8689
    @dimitriy86898 ай бұрын

    Спасибо за видео

  • @three-zeros
    @three-zeros11 ай бұрын

    Михаил, спасибо за Ваши уроки, благодаря Вам вчера получил первый офер!!)) Пожалуйста, расскажите в Вашем новом видео о том, как работать с Firebase в Нексте! Буду очень благодарен!

  • @NeoCoding
    @NeoCoding11 ай бұрын

    спасибо за видосик. как раз работал с новыми картинками только что. там кстати как я понял, если нужен именно респонсив-вариант, чтобы картинки адекватно изменялись при изменении размеров экрана, то именно теперь всё на fill завязано, а не как раньше layout="responsive". В итоге, пришлось убирать размеры из Image, ставить fill, а размеры делать через css. На мой взгляд удобнее было как раньше указал размеры, и поставил layout responsive. чтобы всё автоматом работало. Если не делать обёртку и указать размеры то надо возится с sizes и прописывать адаптивы, но это имхо путь тайлвинда, который противоречит моим убеждениям, что код и стиль должны быть разнесены.

  • @balnazzzar1679
    @balnazzzar167911 ай бұрын

    Спасибо за уроки по next13. Подскажите а будет ли в ближайшее время урок по интернационализации ?

  • @mishanep

    @mishanep

    11 ай бұрын

    Здравствуйте. По интернационализации пока не планировал.

  • @balnazzzar1679

    @balnazzzar1679

    11 ай бұрын

    @@mishanep очень жаль, было бы интересно посмотреть, там как раз какие-то изменения в next

  • @maratfaizer
    @maratfaizer4 ай бұрын

    Спасибо за видео! Вопрос: за счет чего работатает priority? в ущерб чему?

  • @govorov_top
    @govorov_top9 ай бұрын

    Михаил, здравствуйте! Спасибо за полезное видео. У меня возник вопрос по поводу момента на 3:55, где Next.js рекомендует указывать размеры изображений для предотвращения 'дёрганий' на странице. Как быть в случае адаптивного дизайна? Если я разрабатываю 'Desktop First', то размеры, например, 500x500 понятны. Но что делать, если экран у пользователя 992px или меньше? Как в этом случае быть с данными размерами? Если это уже описано в документации то я не нашел))))

  • @sozdanie-saytov
    @sozdanie-saytov11 ай бұрын

    Круто

  • @user-og13
    @user-og1311 ай бұрын

    Добрый день, Михаил! Спасибо за ваш труд. Можете ли вы посвятить один из следующих уроков сборке проекта NextJS с настройкой webpack и ssr и deploy ?

  • @mishanep

    @mishanep

    11 ай бұрын

    Здравствуйте. До сих пор пользовался только стандартными настройками некста. Поэтому видео по нюансам сборки не планирую.

  • @sori32009
    @sori3200910 ай бұрын

    Михаил, подскажи пожалуйста, какую библиотеку вы используете для всплывающей анимации на своем новом проекта в next js?

  • @mishanep

    @mishanep

    10 ай бұрын

    Framer motion. У меня есть цикл видео по ней.

  • @andyjs666
    @andyjs66611 ай бұрын

    C есть одна проблема. К сожалению, он не предназначен для генерации статических сайтов (SSG). Вот почему в Gatsby смогли сделать, а тут всё никак?

  • @lisofsky8151
    @lisofsky815111 ай бұрын

    когда можно будет купить курс nextjs ?

  • @dmitri683
    @dmitri68311 ай бұрын

    Михаил здравствуйте! Вы знаете как происходит процесс получения оптимизированной картинки? Этот механизм внутри библиотек некста иди некст отправляет картинку в сторонний сервис? Мне недавно главный девопс сказал не оптимизировать картинки, так как нечего тут трафик гонять лишний раз в Германию, он имел в виду что сервис который якобы оптимизирует картинки для некста наверняка находятся в Европе и что проще оставить картинку в изначальном в виде, зато трафика больше не станет, хочу понять насколько истинно такое суждение 🤔

  • @slavapaw9006

    @slavapaw9006

    5 ай бұрын

    это бред

  • @NikolayN707
    @NikolayN70710 ай бұрын

    хотелось бы увидеть видео про PWA на nextjs

  • @letonik72
    @letonik726 ай бұрын

    Подскажите пожалуйста плагин, для отображения размера импортов как у автора, на Php storme

  • @oleksiishe7417
    @oleksiishe74174 ай бұрын

    на сколько стабилен generateStaticParams у меня с ним build не всегда работает, хотя делаю все как на видео, back end у меня на мангоДб, апи делаю на NextJs было у вас так ?

  • @user-kj6sy9wm3g
    @user-kj6sy9wm3g8 ай бұрын

    Подскажите, пожалуйста, как отключить минификацию html в dev-режиме next js?

  • @vladislavkhantaev3343
    @vladislavkhantaev33438 ай бұрын

    Надеюсь вы сможете помочь, почему при запуске в дев все изображаются корректно, но при билде и запуск на сервере и просмотр через домен часть изображений не отображаются?

  • @sergiigulaga1486
    @sergiigulaga148611 ай бұрын

    Оптимизация работает если делать deploy через Vercel. Если через сторонний сервис то есть вероятность что оптимизации не будет. В одном из интервью на канале Vercel об етом говорилось.

  • @biLLie_wiLLie
    @biLLie_wiLLie11 ай бұрын

    Подскажите плиз - для картинок мне часто надо width 100%, height 100%, object-fit cover - что я должен для этого в компоненте image прописать тогда?

  • @mishanep

    @mishanep

    11 ай бұрын

    По описанию похоже на fill. Только родителю position relative надо задать.

  • @justpeace7852
    @justpeace785211 ай бұрын

    Михаил, извиняюсь а у вас есть курс по next js ??

  • @mishanep

    @mishanep

    11 ай бұрын

    Пока только то, что на Ютуб.

  • @user-re7zb6oo2s
    @user-re7zb6oo2s11 ай бұрын

    михаил, к вам вопрос такой. А как вы используете тег picture и source для картинок, под разные размеры экрана. Вы используете или может быть в этом нет никакого смысла? Может вы знаете как picture и source совместно работает с компонентом Image от next?

  • @mishanep

    @mishanep

    11 ай бұрын

    У тега img есть стандартный проп srcset, который, по сути, заменяет собой пачку тегов source. При этом нет нужды указывать разный формат. На примере из видео в ссылке везде идёт расширение jpeg, но по факту сервер отдает avif. Я на старых браузерах не тестировал, но полагаю сервер им не пошлет формат, который они не поддерживают.

  • @user-re7zb6oo2s

    @user-re7zb6oo2s

    11 ай бұрын

    ​@@mishanep просто такая проблемка, что Image не имеет srcSet. Вместо этого у него deviceSizes. Знаете что-нибудь об этом? Просто в видео видел, жаль, что не рассказали

  • @victormog
    @victormog11 ай бұрын

    Мой английский хромает, или на офф.сайте ничего про объект, как источник изображений, не написали?..

  • @mishanep

    @mishanep

    11 ай бұрын

    Я тоже не видел. Обнаружил империческим путем.

  • @NeoCoding

    @NeoCoding

    11 ай бұрын

    @@mishanep это кстати одно из открытий для меня в виде

  • @nickolaizein7465
    @nickolaizein746511 ай бұрын

    А изначально картинка в каком формате лежит ? И она должна быть достаточно в большом разрешении чтоб оптимизация работала ?

  • @mishanep

    @mishanep

    11 ай бұрын

    В разных форматах у меня оригинальные картинки. Размер зависит от вариантов использования.

  • @functiondead4841
    @functiondead484110 ай бұрын

    Михаил, будет ли платный курс по next 13? Заранее спасибо. Надеюсь на ваш ответ😊

  • @mishanep

    @mishanep

    10 ай бұрын

    Со временем. Может быть в следующем году.

  • @functiondead4841

    @functiondead4841

    10 ай бұрын

    @@mishanep ну впринципе до следующего года не так долго)

  • @user-888azim-97
    @user-888azim-9711 ай бұрын

    Михаил, а можно что-нибудь про gatsby пожалуйста? почти next

  • @NeoCoding

    @NeoCoding

    11 ай бұрын

    так это вообще другое) это же headless типа strapi

  • @nazamosk7728
    @nazamosk772811 ай бұрын

    Здраствуйте. Будет ли видео как использовать редакс в некст приложение?

  • @mishanep

    @mishanep

    11 ай бұрын

    Нет. У меня есть видео про клиентские компоненты, где я разбираю как подключать провайдеры. В серверных компонентах нет редакса. А в клиентских он работает без нюансов.

  • @nazamosk7728

    @nazamosk7728

    11 ай бұрын

    @@mishanep Спасибо за ответ. А это не будет проблемой ведь большенство компонентов будет клиентскими

  • @en_kratia
    @en_kratia11 ай бұрын

    Кто-нибудь знает, что лучше изучать джуниору: react query или rtk query? (прошу прощения за оффтоп)

  • @victormog

    @victormog

    11 ай бұрын

    Redux для начала

Келесі