Laravel6 + Vuetify Material Dashboard Proの設定方法

環境

この手順はproですが、無料版の方でも使えます!最初は無料版で試作していてどうしても欲しいコンポーネントがあったので、こちらをインストールした経緯があるので無料でも適用可能です!

  • Homestead 10.2.0
  • PHP 7.2

Laravel をインストール

vuetify-material-dashboard-pro-v2.1.0/src 以下のファイルをコピー
sampleproject/resources/js へペースト

/sampleproject/resources/js/sass の内容を
/sampleproject/resources/sass へ移動

/sampleproject/resources/sass/variables.scss を削除

package.jsonを修正

package.json

パッケージをインストール

webpack.mix.jsを修正

/sampleproject/resources/js/main.js の内容をコピー
/sampleproject/resources/js/app.js へペースト

一旦watchしてエラーを確認

私はエラーが2つ出ました。

webpack.mix.jsのresolveにはjsまでのパスしか書いていないので、出ているエラーが1つと、そもそもインストールしていないvue-world-mapです。
plugins/vuetifyの修正を行なっていきます。

/sampleproject/resources/js/plugins/vuetify.js

/sampleproject/resources/js/app.js

ここまですると概ねエラーは消えていますが、もっとややこしい現象が起きます。

このファイルを一度のぞいてみてください。
何かJSのコードが出力されているのではないでしょうか?私だけ?w

/sampleproject/public/css/app.css

下記でも報告されているようです。

https://stackoverflow.com/questions/55057581/npm-run-production-missed-semicolon-error

https://github.com/JeffreyWay/laravel-mix/issues/1976

webpackのバグで5でなおるらしいです…。まだbetaなのと、laravel-mixはまだwebpack4.36.1を使用しています。

/sampleproject/node_modules/laravel-mix/package.json

ここめっちゃ時間かかりました…。
実は、devやwatch時には全く問題なく動いていて全然気づかなかったんですがherokuにデプロイしようとproductionsしようとするとmissing semicoronてきなエラーが出て止まってしまうんです。


8時間くらいずっとwebpack.mixをトレースしたり色々したんですが、結局var mapに代入されてる画像を根こそぎ消しにかかっていたら一つのコードを消したら、app.cssの内容がクリアされました!!

それがここです。

/sampleproject/resources/js/layouts/frontend/View.vue

requireが悪さをしているみたいですね…webpackのバグってことで!

Laravel側の設定

ではでは、Laravel側の設定を行なっていきます。

/sampleproject/resources/views へindex.blade.phpを追加します。

/sampleproject/resources/views/index.blade.php

routesを編集

/sampleproject/routes/web.php

/sampleproject/routes/api.php

アイコンが表示されないので、表示されるようにする

/sampleproject/resources/sass/app.scss

とりあえず表示されるようになったので、次はherokuへアップしていこうと思います。