vue-cli 3系で作成したVue.jsのアプリケーションを公開サーバのサブディレクトリにデプロイしようと思った際に疑問に思ったのでメモ。
というのは、Vue.jsの開発環境では
npm run serveすると
localhost:8080でアクセスできるようにルートディレクトリ扱いです。
<%= BASE_URL %>もルートディレクトリとして展開されます。……この
BASE_URLを公開サーバのサブディレクトリにするにはどうするか。
どうやら
package.jsonのあるディレクトリに
vue.config.jsというファイルを作成し、
module.exports = {
baseUrl: '/hoge/piyo',
}
とすれば良いようです。これで
npm run buildしてみると……
WARN "baseUrl" option in vue.config.js is deprecated now, please use "publicPath" instead.
……おや?警告が出ています(ビルド自体は完了)。「
baseUrlは非推奨になったので
publicPathを代わりに使ってね」とのことなので
vue.config.jsのキーを書き換えます。
module.exports = {
publicPath: '/hoge/piyo',
}
これでビルドしなおすとOKでした。
ということで、
vue.config.jsに
publicPathを指定すると良いようです。