basePath
ドメインのサブ path の下に Next.js アプリケーションを deploy するには、basePath
config オプションを使用できます。
basePath
はアプリケーションの path プレフィックスを設定することを可能にします。例えば、''
(empty string、default)の代わりに/docs
を使用するには、next.config.js
を開き、basePath
config を追加します:
next.config.js
module.exports = {
basePath: '/docs',
}
Good to know:この value は build 時に設定する必要があり、client 側のバンドルに value がインライン化されているため、再 build せずに変更することはできません。
Links
next/link
やnext/router
を使用して他のページにリンクするとき、basePath
は自動的に適用されます。
たとえば、/about
を使用すると、basePath
が/docs
に設定されている場合、自動的に/docs/about
になります。
export default function HomePage() {
return (
<>
<Link href="/about">About Page</Link>
</>
);
}
出力 html:
<a href="/docs/about">About Page</a>
これにより、basePath
の value を変更する際に、アプリケーション内のすべてのリンクを変更する必要がなくなります。
Images
next/image
component を使用する際には、src
の前にbasePath
を追加する必要があります。
例えば、/docs/me.png
を使用すると、basePath
が/docs
に設定されている場合、適切にあなたの image が提供されます。
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;