Next.js, dev vs build
Одна из частых ловушек в App Router выглядит так: в dev всё кажется понятным, а после build страница начинает вести себя иначе. Данные обновляются не так, кэш ощущается по-другому, а выводы, сделанные во время локальной разработки, перестают совпадать с тем, что происходит в production.
Dev и build в Next.js это не просто два способа запустить одно и то же приложение. Это два разных режима наблюдения. В dev есть дополнительное поведение вокруг HMR и локальной разработки, а после build начинает проявляться уже production-логика маршрутов, рендера и кэша.
Поэтому проверка кэширования, revalidate, no-store и других режимов только в dev почти всегда даёт неполную картину. Для таких тем нормальная диагностика начинается с пары build и start, а не заканчивается на локальном сервере.
Статья на Хабр Проект: Goods Finder Stepik: Next.js I: JavaScript 2026
#nextjs #AppRouter #caching #revalidate #build #production #servercomponents #react #javascript #webdev
· 03.06
У меня была эта ловушка в реальном проекте. Тестировал revalidateTag в dev, всё работало. Задеплоил и данные не обновлялись 20 минут. Оказалось что dev вообще не кэширует fetch-запросы по умолчанию, а build начинает кэшировать агрессивно. После этого всегда делаю build и start до деплоя для всего что связано с кэшом.
ответить
коммент удалён
· 03.06
Классический кейс. В dev fetch не кэшируется, в production начинает жить по своим правилам. Разница между npm run dev и npm run build && npm start выстреливает для всего, что связано с data fetching, revalidate и кэшем. Особенно если в коде нет явного no-store
ответить
ответ удалён