Какие имеются недостатки у next.js?
Решил недавно сделать небольшей проект на nextjs. Все взял из коробки с Redux.
Скорее всего я криворукий, но вот проблемы с которыми я столкнулся:
1. Упакованный Docker образ весит 600МБ+! Ничего тяжелого у меня в проекте нет, верстка, 15 страниц и текст.
Нагуглил решение упаковать билд в pkg. Следовал всем инструкциям, убил 1 день, так и не смог запустить. В /snapshot по неведомой причине отсутствует папка .next внутри пакета, package.json конфигурировал и не помогло, гугление не дало должных результатов.
2. По непонятной логике работает билд на бэке. Иногда переход по ссылкам мгновенный как положено "на толстом клиенте", но иногда зависает на 3-5 секунд переход и появляется справа прелоадер nextjs и заметно подтупливает, хотя ранее страница уже билдилась.
Можете закидать меня тапками гуру next.js, но брать продукт из коробки и трахаться с проблемами о которых я даже не должен думать так себе затея.
Для тех кому JS это панацея от всего и для всего продукт явно зайдет.
Крупные ребята типа того же Яндекса могут использовать самописный SSR, по нескольким причинам Написать своё решение не сложно. Если есть возможность поддерживать, то поддерживать своё приятней, чем надеяться на вендоров. Часто бэк написан на PHP, C#, бла бла бла, т.ч. рендирить может не нода. Добавлять еще прослойку может быть дорого и лишним. Когда начинали писать проекты, Next.js не был так готов/популярен.Дока на любителя (мне не понравилась). Много примеров, но они довольно синтетические. Редкий случай, но Next не умеет в потоковый рендер.Написал небольшой проект полгода назад, вот с чем столкнулсяДиректория pages должна быть на самом верхнем уровне. Мне так не нравится, поэтому сделал линуксовые ссылки на другое место. Соответственно под виндой проблемы.Не самая топовая типизация под TS. Что-то пришлось поправлять, вероятно уже исправили.Запускал в докере (свой образ) + node ts. Из-за постоянных пересборок машинка начинает греться). Иногда были фантомные баги из-за пересборок.Роутер не впечатлил. Но ничего критичного я не обнаружил.Webpack конфиг почти скрыт. Под популярные библиотеки, где нужно поправить webpack конфиг, есть готовые решения для Next.
В итоге: можно начать писать на Next, но абстрагироваться от него. В случае чего, почти без проблем съехать на своё.