introduction
从9.5.0开始,Base Path 增加 ..
为了部署一个Next.js 应用在一个域名的子路径下,你能够使用basePath配置选项
basePath允许你能够设置一个应用的路径前缀,举个例子,使用/docs替代/(默认),打开next.config.js并增加 basePath配置
module.exports = {basePath: '/docs',}
注意: 这个值必须在构建时设置并且不能够改变(在运行时),因为这个值内链到了客户端打包中 …
Links
当我们使用next/link以及 next/router链接到其他页面将自动的应用basePath
举个例子,假设我们使用/about将自动的转换为/docs/about,当basePath设置为/docs
export default function HomePage() {return (<><Link href="/about"><a>About Page</a></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>My Homepage</h1><Imagesrc="/docs/me.png"alt="Picture of the author"width={500}height={500}/><p>Welcome to my homepage!</p></>)}export default Home
但是这种提供静态文件的方式,还需要硬编码基础路径,这很难接受,我们可以使用环境变量替换 …
