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 で、初期値の設定と選択状態のクリア