basePath

Для развертывания приложения Next.js в подкаталоге домена вы можете использовать опцию конфигурации basePath.

basePath позволяет установить префикс пути для приложения. Например, чтобы использовать /docs вместо '' (пустая строка по умолчанию), откройте next.config.js и добавьте конфигурацию basePath:

next.config.js
module.exports = {
  basePath: '/docs',
}

Важно: Это значение должно быть установлено во время сборки и не может быть изменено без пересборки, так как значение встраивается в клиентские бандлы.

Ссылки

При использовании next/link и next/router для ссылок на другие страницы basePath будет применяться автоматически.

Например, использование /about автоматически преобразуется в /docs/about, если basePath установлен в /docs.

export default function HomePage() {
  return (
    <>
      <Link href="/about">About Page</Link>
    </>
  )
}

Результирующий HTML:

<a href="/docs/about">About Page</a>

Это гарантирует, что вам не придется изменять все ссылки в приложении при изменении значения basePath.

Изображения

При использовании компонента next/image необходимо добавлять basePath перед src.

Например, использование /docs/me.png обеспечит корректную загрузку изображения, если basePath установлен в /docs.

import Image from 'next/image'

function Home() {
  return (
    <>
      <h1>Моя домашняя страница</h1>
      <Image
        src="/docs/me.png"
        alt="Фото автора"
        width={500}
        height={500}
      />
      <p>Добро пожаловать на мою домашнюю страницу!</p>
    </>
  )
}

export default Home