跳到内容

basePath

要在一个域名的子路径下部署 Next.js 应用程序,你可以使用 basePath 配置选项。

basePath 允许你为应用程序设置路径前缀。例如,要使用 /docs 而不是 '' (空字符串,默认值),打开 next.config.js 并添加 basePath 配置

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

须知: 此值必须在构建时设置,并且在不重新构建的情况下无法更改,因为该值内联在客户端 bundles 中。

当使用 next/linknext/router 链接到其他页面时,basePath 将自动应用。

例如,当 basePath 设置为 /docs 时,使用 /about 将自动变为 /docs/about

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

输出 html

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

这确保了你在更改 basePath 值时无需更改应用程序中的所有链接。

图像

当使用 next/image 组件时,你需要在 src 前面添加 basePath

例如,当 basePath 设置为 /docs 时,使用 /docs/me.png 将正确地提供你的图像。

import Image from 'next/image'
 
function Home() {
  return (
    <>
      <h1>My Homepage</h1>
      <Image
        src="/docs/me.png"
        alt="Picture of the author"
        width={500}
        height={500}
      />
      <p>Welcome to my homepage!</p>
    </>
  )
}
 
export default Home