Laravel(6.x)のAuthを使ってログイン機能を作る
Laravelはログイン機能が簡単に作成できます
今回はさくっとログイン機能をつける方法を紹介します
ui(vue)をインストールする
Laravelのインストールが完了している状態で
以下の2つのコマンドを実行します
※laravel6系が対象読者です、7,8系では方法異なるのでご注意ください
composer require laravel/ui "^1.0" --dev
php artisan ui vue --auth
composer requireでuiパッケージをインストールし、artisanコマンドで
vueの認証パッケージを使うようにしています
画面を確認する
コマンドを実行したらさっそくサーバを起動して画面を確認してみましょう

すると、右上に LOGIN、 REGISTERのボタンが追加されていると思います
LOGIN、REGISTERのボタンをそれぞれ押してみましょう
上記のようにデザインがなにも効いていない状態だと思います
ビルドしてcss、jsを適用する
VueやReactのフロントエンドライブラリはnpmビルドが必要になります
php artisan ui vueで vueを使うようにしましたが、
実際に動くjs、cssはまだ作られていない状態です
一度サーバを停止させて以下コマンドを実行してビルドを行い、
css,jsを作成しましょう
npm install
npm installは少し時間かかります…
npm installが完了したら次のコマンドを実行しましょう
npm run dev
上記コマンドでビルドが実行されます
再度画面を確認する
ビルドが終わったら再度画面を確認してみましょう
サーバを起動してアクセス


きれいにデザインが適用されたはずです
npmとビルドの補足
少し細かいところを説明すると、npmとはNode package managerのことで
VueやReactをはじめ様々なJSパッケージを管理してくれるものです
PHPでいうところのcomposerと同じイメージですね
プロジェクト直下を見ると package.json というファイルが追加されて
いるので確認してみてください
1つ目のコマンド npm install は package.jsonに書かれているdevDependencies
や dependencies
のパッケージをインストールしてくれるものです
2つ目のコマンド npm run dev は npm run
で package.jsonにかかれている
‘scripts’ の箇所を実行してくれます
今回は npm run dev として実行しているので dev の箇所が実行されるわけですね
npm run dev → 中身は npm run development なので
npm run development → devのすぐ下のcross-env …. が実行されています
実際にビルドは webpackというビルドツールを使っていることがわかります
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.19",
"bootstrap": "^4.0.0",
"cross-env": "^7.0",
"jquery": "^3.2",
"laravel-mix": "^5.0.1",
"lodash": "^4.17.19",
"popper.js": "^1.12",
"resolve-url-loader": "^2.3.1",
"sass": "^1.20.1",
"sass-loader": "^8.0.0",
"vue": "^2.5.17",
"vue-template-compiler": "^2.6.10"
}
}
まとめ
今回はLaravelの認証機能の導入方法の紹介でした
コマンド少しうつだけでここまで実装できるのは初心者には
非常に手厚くなっているなと実感します