basePath
ドメインのサブパスでNext.jsアプリケーションをデプロイするには、basePath設定オプションを使用できます。
basePathを使用すると、アプリケーションのパスプレフィックスを設定できます。たとえば、デフォルトの''(空文字列)の代わりに/docsを使用するには、next.config.jsを開いてbasePath設定を追加します。
next.config.js
module.exports = {
basePath: '/docs',
}知っておくと便利:この値はビルド時に設定する必要があり、値がクライアントサイドバンドルにインライン化されているため、再ビルドなしでは変更できません。
リンク
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値を変更しても、アプリケーション内のすべてのリンクを変更する必要がなくなります。
画像
next/imageコンポーネントを使用する場合、srcの前にbasePathを追加する必要があります。
たとえば、/docs/me.pngを使用すると、basePathが/docsに設定されている場合、画像は正常に提供されます。
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役に立ちましたか?