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
を指定すると良いようです。