Вот пишут "next.js для статических вебсайтов", а что имеется ввиду под этим - не до конца ясно. (Или тыкните в годную статью)
То, что клиенту приходит. Либо его браузер сам пыхтит и строит страницу (динамика), либо всё готовенькое (next.js)
Кто пишет?
Вот честно, не могу конкретную статью кинуть, они все с друг друга копипастят
🙄а что дока некстжс говорит?
Вот теперь ясно! Потому что те объяснения которые дают первой ссылкой в Гугле устарели примерно на декаду.
JS быстро развивается, но не ожидал, чтоб настолько)
А я там не видел разжевывания для совсем тупых что такое Некст и с чем его едят. Просто вот те инструкция по настройке, работай.
смысл такой, что обычно в реакте бровзер отдаёт тебе с сервера js-код, который компилится на клиенте (у тебя) и тебе потом твой браузер выдаёт готовую страницу. это считается не сео-френдли и всё такое. некст сам компилит страничку у себя на сервере и отдаёт тебе и поисковым ботам уже пережёванный хтмл, цсс и жс. Грубо, но понятно
А если сайту вообще не нужен SEO, этим можно не заморачиваться?
но лучше почитать сайт некста, чтобы понять его миссию. но в целом, да. сервер-сайд-рендеринг делается либо для сео, либо чтобы облегчить сборку на конечном клиенте (если, например, предполагается, что конечные клиенты слабенькие в плане железа) (но последнее уже возможно мои домыслы, так как говорю по логике)
лучше почитать еще https://developers.google.com/web/updates/2019/02/rendering-on-the-web про преимущества
хорошая статья, спасибо
Короче смотри, по факту есть 2 типа рендеринга, клиентский и серверный. Клиентский нужен если у тебя сайт закрыт под авторизацию либо тебе вообще не надо SEO и его суть в том что у тебя всё ренедриться непосредственно в браузере человека который зашёл на страницу. Есть ещё сервер-сайд рендеринг и его фишка в том что html и css (по желанию, можно и на клиенте) рендерятся на сервере и отдаются сразу клиенту при запросе, так гугл боты видят что страница не пустая и ранжируют её в гугле, ну а js, линки и вся динамика генерятся походу уже на клиенте (этот процес называется hydration). С этим надеюсь понятно. Теперь детальней про next js, в нём есть возможность получать данные с бека ещё на стороне сервера (так ты избавишься от асинхронности внутри компонента и сразу получишь пропсами всё). Для этого есть 2 разные функции getStaticProps и getServerSideProps. Теперь детальней о твоём вопросе. Статической страницу при сервер сайд рендере можно назвать ту которая 1 раз при билде ходит в апишки достаёт данные и генерит html и всё потом при каждом запросе клиента на эту страницу будет отдаваться тот единожды созданный html она будет только делать hydration и в апишки не пойдёт для этого как ты понял есть getStaticProps. Динамическая страница это та которая при запросе клиента ходит в бекенд за данными, на основании них генерит html а потом с сервера отдавать это клиенту (ну и дальше стандартная процедура hydration), кажется что динамический подход медленнее это в какой-то мере так но это оч нужно когда тебе надо отслеживать данные которые могут меняться например ты авторизировался и заходишь на страницу профиля, и при запросе надо пойти в бек и посмотреть действительно ли ты авторизирован если да то пустить тебя а нет редиректнуть для этого и нужна такая динамика getServerSideProps
Так получается статика и авторизация не совместимы что-ли? Т.е. когда сервер присылает ответ в зависимости от того, какой юзер
ну статика это как правило голый html, какая тут может быть авторизация
Если мы мыслим в контексте 1 страницы то совместимы
Обсуждают сегодня