📂
Nuxtでサブディレクトリ配下にデプロイする際のstaticファイルの扱いについてのメモ
はじめに
Nuxtを使ってWebアプリを開発していて、https://example.com/test/
のようにサブディレクトリにアプリをデプロイする場合、static
ディレクトリに置いてあるファイル(faviconや画像、音声ファイルなど)へのパス指定にも注意が必要です。
なぜパスの修正が必要か?
通常、static
配下のファイルは /favicon.ico
や /images/logo.png
のようにルート相対パスでアクセスされます。
しかし、アプリを https://example.com/test/
にデプロイした場合、このルートは https://example.com/
を指すため、パスが正しく解決されなくなります。
対策
以下のようにパスを修正する必要があります。
-
static
配下のファイルにはrouter.base
を意識してパスを設定 - 例:
favicon.ico
→/test/favicon.ico
/images/logo.png
→/test/images/logo.png
または、動的にbaseパスを付加する方法もあります。
nuxt.config.js
の設定(Nuxt2)
参考:export default {
router: {
base: '/test/'
}
}
Discussion