Vue.jsでSPAアプリケーションを開発した後にGitHub Pagesにデプロイする際に詰まってしまったのでメモ。
vue.config.jsファイルを作成
プロジェクトのルートディレクトリにvue.config.jsファイルを作成します。
このファイルにデプロイするVueアプリケーションのURLの構成を設定します。
以下のように記述してください。1
module.exports = {
publicPath: '/project-name/',
outputDir: 'docs'
}
GitHub Pagesにデプロイする際はプロジェクトディレクトリ直下または/docs
にindex.html
などのビルドしたファイルを配置する必要があります。今回はoutputDir: docs
にでdocs
以下に指定します。
またpublicPath: /project-name/
を指定しないとcssなどのアセットファイルへの参照が絶対パスとなってしまいますので、こちらも併せて指定します。
ビルド
vue.config.js
を作成したら一度npm run build
でビルドを行います。
ビルド後のファイルが/docs
以下に配置されていることを確認します。
masterブランチにpush
ここまでの変更をコミットしmasterブランチにpushします。2
GitHubの設定を変更する
pushしたGitHubリポジトリを開き、Settings
タブを選択します。
下にスクロールしていくと、GitHub Pages
というセクションが見つかります。
Source
の箇所がNone
になっているので、master branch /docs folder
に変更します。
GitHub PageにアクセスするURLが表示されます。
URLにアクセスするとデプロイしたアプリケーションが動作しています🎉🎉🎉
おわりに
GitHub Pages、サーバー処理を行わない静的ページを公開するならかなり便利ですね。