Портфолио
Next.js SSG

Next.js SSG

С помощью Next.js вы можете предварительно отрисовать свою страницу, используя статическую генерацию (Static Site Generation (SSG) (opens in a new tab)). В этом случае страницы будут сгенерированы во время сборки и статически отображены в браузере.

Для повышения производительности можно кэшировать страницы с помощью CDN. Nextra позволяет это сделать. Вот пример:


У Nextra 11888 звезд на GitHub!

Вышеуказанное число звезд было сгенерировано во время сборки с помощью getStaticProps. При включенной Incremental Static Regeneration (opens in a new tab) это число будет обновляться автоматически.


А это MDX код для вышеописанного примера:

import { useData } from 'nextra/data'
 
export const getStaticProps = ({ params }) => {
  return fetch(`https://api.github.com/repos/shuding/nextra`)
    .then(res => res.json())
    .then(repo => ({
      props: {
        // We add an `ssg` field to the page props,
        // which will be provided to the Nextra `useData` hook.
        ssg: {
          stars: repo.stargazers_count
        }
      },
      // The page will be considered as stale and regenerated every 60 seconds.
      revalidate: 60
    }))
}
 
export const Stars = () => {
  // Get the data from SSG, and render it as a component.
  const { stars } = useData()
  return <strong>{stars}</strong>
}
 
Nextra has <Stars /> stars on GitHub!