Я хочу создать сайт с помощью Next. js и пытаюсь лучше понять их Automati c Stati c Оптимизация и различные способы его использования.
Итак, для начала, есть Гэтсби. js, который является генератором сайта * stati c. Когда вы запускаете команду Gatsby build
, вы получаете папку /public
, которая полностью стати c и может быть развернута без какой-либо необходимости в каком-либо бэкэнде. Если я правильно понимаю, это означает, что вся папка stati c отправляется клиенту по первому запросу, и с этого момента все, включая маршрутизацию, происходит на стороне клиента.
С Next. js на с другой стороны, у вас есть генерация stati c, что означает, что все страницы предварительно визуализируются на сервере во время сборки (например, Gatsby), но приложение по-прежнему зависит от серверной части (либо полноценного сервера, либо безсерверная функция) для маршрутизации. То есть, страницы предварительно отображаются, но, в отличие от Гэтсби, они отправляются клиенту по запросу, то есть по навигации. (Я нашел этот ответ , который говорит, что есть только начальный запрос с Next, но затем, в чем отличие от Гэтсби?)
Что меня смущает во всем этом, такие вещи, как документы Next для Stati c HTML Экспорт . Они начинаются с того, что
next export
позволяет вам экспортировать ваше приложение в stati c HTML, который может работать автономно без использования сервера Node.js.
Итак, звучит так, как будто эта опция дает нам возможность использовать Next как Gatsby, то есть как полностью стати c папку.
Но тогда они go отмечают, что:
Если на ваших страницах нет getInitialProps
, вам может вообще не понадобиться next export
; next build
уже достаточно благодаря Automati c Stati c Оптимизация .
Но Automati c Stati c Оптимизация относится только к серверной стороне c перед рендерингом, а next build
не создает Gatsby-подобную папку stati c, которую можно развернуть как отдельную.
Так чего мне здесь не хватает? В чем разница между Гэтсби. js и Next. js? Может ли Гэтсби что-то сделать, а дальше нет? Могу ли я создать полностью статический c сайт с помощью Next, не используя команду export
?
Самое главное, могу ли я создать и развернуть приложение Next. js с некоторыми страницами полностью статически c (например, Gatsby) некоторые страницы только предварительно обработаны (getStaticProps
и getStaticPaths
), а некоторые страницы обработаны на стороне сервера (getServerSideProps
)?
Заранее большое спасибо!