Loading [MathJax]/jax/output/HTML-CSS/config.js

composer require laravel/uiが何かとBootStrapの導入方法

composer require laravel/uiが何かとBootStrapの導入方法

2216 回閲覧されました

みなさんこんにちは、jonioです。

現在Laravelを勉強していますが学習当初「composer require laravel/ui」が何なのかを知らずに何となくコマンド入力していましたが調べて分かったので同じように何をしているかが分からない人の為の記事を作成しました。

私が調べたのでもしかしたら間違っていたり情報が足りないかもしれませんがご了承ください。

 

composer require laravel/uiとは

Laraveのバージョン6以降でデフォルトで入っていてReact.js・Vue.js・Bootstrapなどを使う事ができる様にするライブラリをインストールするコマンドです。

 

使い方

ターミナルで「composer require laravel/ui」と入力します。

 

スカフォールドの選択

スカフォールドは雛形を自動的にインストールしてくれる便利な物です。

例えばBootStrapを選択した場合はHTMLにBootStrapのクラス名が付いた雛形が自動的にインストールされます。

例えば↓です。

@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Dashboard') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
{{ __('You are logged in!') }}
</div>
</div>
</div>
</div>
</div>
@endsection

スカフォールドは他にはReact.js・Vue.jsの選択が考えられますが今回はBootStrapで話を進めます。

 

BootStrapのインストール

コマンド入力は「php artisan ui bootstrap」ですがログイン機能も一緒に入れる場合は「php artisan ui bootstrap auth」です。(は-を2つ付けて下さい)

ログイン機能は↓の赤枠の表示です。

 

npm install

Laravelのプロジェクト直下に「package.json」がありますがその中に記載があるBootStrapをLaravelのプロジェクトにインストールするのですが「npm install」で行います。

「npm install」についてはこの記事で詳しく解説しています。

そして「npm run dev」をして下さい。

 

BootStrapを導入するための記述

BootStrapの公式サイトからファイルをダウンロードします。

↓の赤枠です。

ダウンロードしたら圧縮データを解凍してその中にあるファイルを移動します。

名前が長いので「Laraveのプロジェクト > public」をAとして「ダウンロードしたフォルダを解凍したフォルダ」をBとします。

ファイルの移動は2つです。

  • 「B > JS > bootstrap.min.js」を「A > js」に入れる
  • 「B >  CSS > bootstrap.min.css」を「A > css」に入れる

そして「Laravelのプロジェクト > resources > views > layouts > app.blade.php」のheadタグにBootStrapを読み込むためのコードを記述します。

<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
//ここから追加
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet">
<script src="{{ asset('js/bootstrap.min.js') }}" defer></script>
//ここまで追加
</head>

これでログイン画面に入ると↓の様にBootStrapが適用された画面になります。

 新規登録画面も同様です。