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

Поділитися
Вставка
  • Опубліковано 22 січ 2025

КОМЕНТАРІ • 56

  • @NikOroferov
    @NikOroferov Рік тому +3

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

  • @IT-Svyatoslav
    @IT-Svyatoslav Рік тому +1

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

  • @НикитаАверьянов-е2ь
    @НикитаАверьянов-е2ь 4 місяці тому

    Классный функционал! Очень удобно, конечно, что такая оптимизация теперь не требует много усилий от тебя.

  • @Alexei_Ovsyannikov
    @Alexei_Ovsyannikov Рік тому

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

  • @ilyaprotsenko1023
    @ilyaprotsenko1023 Рік тому +3

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

  • @olegsh2888
    @olegsh2888 Рік тому +1

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

  • @ВикторияВорона-х5ф

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

  • @arman-6172
    @arman-6172 Рік тому +2

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

  • @ShaftiloO
    @ShaftiloO Рік тому +5

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

  • @three-zeros
    @three-zeros Рік тому +1

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

  • @alexanderkomanov4151
    @alexanderkomanov4151 Рік тому

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

  • @dimitriy8689
    @dimitriy8689 Рік тому

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

  • @balnazzzar1679
    @balnazzzar1679 Рік тому +3

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

    • @mishanep
      @mishanep  Рік тому

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

    • @balnazzzar1679
      @balnazzzar1679 Рік тому +3

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

  • @NeoCoding
    @NeoCoding Рік тому

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

  • @dmitri683
    @dmitri683 Рік тому +2

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

  • @true227
    @true227 7 місяців тому

    по поводу атрибута alt вот что пишут на странице некста: If the image is purely decorative or not intended for the user, the alt property should be an empty string (alt=""). И это относится не только к нексту. Они в свою очередь взяли эту информацию из спека. Т.е. если изображение бэкграунд, то альт должен быть пустым. И еще: насколько я понял картинки заданные через background-image css не оптимизируются некстом

  • @govorov_top
    @govorov_top Рік тому

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

  • @letonik72
    @letonik72 Рік тому

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

  • @МаксимКоротчий

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

  • @victormog
    @victormog Рік тому +2

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

    • @mishanep
      @mishanep  Рік тому +2

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

    • @NeoCoding
      @NeoCoding Рік тому +1

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

    • @t0pc0der
      @t0pc0der 7 місяців тому

      @@mishanep эмпирическим, извините

  • @andyjs666
    @andyjs666 Рік тому

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

  • @oleksiishe7417
    @oleksiishe7417 11 місяців тому

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

  • @maratfaizer
    @maratfaizer 11 місяців тому

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

  • @vladislavkhantaev3343
    @vladislavkhantaev3343 Рік тому

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

  • @user-og13
    @user-og13 Рік тому

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

    • @mishanep
      @mishanep  Рік тому

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

  • @sori32009
    @sori32009 Рік тому

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

    • @mishanep
      @mishanep  Рік тому +1

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

  • @lisofsky8151
    @lisofsky8151 Рік тому

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

  • @biLLie_wiLLie
    @biLLie_wiLLie Рік тому

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

    • @mishanep
      @mishanep  Рік тому +1

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

  • @Aleksey-n5h
    @Aleksey-n5h Рік тому

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

    • @mishanep
      @mishanep  Рік тому

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

    • @Aleksey-n5h
      @Aleksey-n5h Рік тому

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

  • @nickolaizein7465
    @nickolaizein7465 Рік тому

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

    • @mishanep
      @mishanep  Рік тому

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

  • @nazamosk7728
    @nazamosk7728 Рік тому

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

    • @mishanep
      @mishanep  Рік тому

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

    • @nazamosk7728
      @nazamosk7728 Рік тому

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

  • @sergiigulaga1486
    @sergiigulaga1486 Рік тому

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

  • @justpeace7852
    @justpeace7852 Рік тому

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

    • @mishanep
      @mishanep  Рік тому +1

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

  • @functiondead4841
    @functiondead4841 Рік тому

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

    • @mishanep
      @mishanep  Рік тому

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

    • @functiondead4841
      @functiondead4841 Рік тому

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

  • @en_kratia
    @en_kratia Рік тому

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

    • @victormog
      @victormog Рік тому +1

      Redux для начала

  • @NikolayN707
    @NikolayN707 Рік тому

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