Vue CLI で作った Vue Router 利用プロジェクトを GitHub Pages で公開する方法
はじめに
Vue CLI + Vue Router で作成したプロジェクトを GitHub Pages で公開する方法についてまとめた。
TL;DR
vue create時点で Vue Router を使う設定にしておくと楽vue.config.jsでビルドファイルの出力先などを設定- ビルド&プッシュしてリポジトリの設定を変更すれば OK
目次
環境・条件
1 | $ sw_vers |
詳細
プロジェクト作成
vue create で作成。この時点で Vue Router を使う設定にしていると楽。
1 | $ vue create github-pages-example-with-vue-router |
リポジトリ作成
hub コマンド使ってるけど、普通に Create a New Repository からで良い。
1 | $ hub create github-pages-example-with-vue-router |
vue.config.js 作成
1 | module.exports = { |
publicPath
個別ブランチを GitHub Pages で公開する場合 https://<username>.github.io/<repository>/ に JS やらの assets が展開される。
publicPath 未指定の場合、ドメイン直下(https://<username>.github.io/)に assets がある体のコードが出力されてしまい、JS ファイルなどを読み込めないためリポジトリ名を設定する。
outputDir
リポジトリ単位の GitHub Pages の公開パターンは、「ブランチ直下」か「docs 配下のみ」かを選べる。
今回は docs 配下のみを表示対象にしたいので、ビルドファイルの出力先を docs に指定。デフォルトだと dist に出力される。
filenameHashing
設定しなくても大丈夫だが、ビルドのたびにファイルリネーム扱いになるのが気持ち悪いので false に設定する。
productionSourceMap
設定しなくても大丈夫だが、一応 false に設定する。
ビルド & プッシュ
npm run build でビルド
1 | $ npm run build |
ビルド成功したらリポジトリにプッシュ。
1 | # hub コマンドで作ってなければ git remote add で追加してからプッシュ |
リポジトリの設定変更
https://github.com/<username>/<repository>/settings に移動し、GitHub Pages セクションで master branch /docs folder を選択。

しばらく待つと https://<username>.github.io/<repository>/ で表示できるようになるはず。
ハマりどころ
vue create 時点では Vue Router を選択しておらず後から手動(npm i vue-router とか)で追加したような場合、new VueRouter の base オプションの追加を忘れないように注意。
1 | const router = new VueRouter({ |
まとめ
vue create時点で Vue Router を使う設定にしておくと楽vue.config.jsでビルドファイルの出力先などを設定- ビルド&プッシュしてリポジトリの設定を変更すれば OK
その他・メモ
GitHub Pages めっちゃ便利
参考文献
- GitHub Pages
- vue-cli 3で作成したVue.jsアプリをサブディレクトリで展開 – Ewig Leere(Lab2)
- Vue-cli3を使ってポートフォリオを作ってGitHubPagesで公開する - Qiita
- GitHub PagesにサクッとSPAをデプロイする - Qiita
- vue-routerのgithub-pages用設定 - Qiita
関連記事
- Twitterデータの tweet.js を読み込んで全ツイート履歴を表示するツール「tweet.js loader」の技術面
- Chart.js(vue-chartjs) でツールチップの表示内容を変更
- Vue.js で日本語変換での誤発火を抑止しつつ Enter キーで Submit
- TypeScript で「Property 'xxxx' does not exist on type 'Window'」エラーの解決方法
- Vue で子コンポーネントのメソッドをコールする
- apertureless/vue-chartjs でチャートの高さ(や幅、サイズ)を変更
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア