LoginSignup
11
13

More than 5 years have passed since last update.

Laravel Mix で font-awesome を導入してみる

Last updated at Posted at 2017-07-14

Laravel 5.4 から導入された Larabel Mix で font-awesome を導入してみます。

npm コマンドを使用するので,予め node.js をインストールしておいてください。

プロジェクトを作成

ここでは仮に mycollectiveproject という名前のプロジェクトを作成します。

$ composer create-project laravel/laravel mycollectiveproject

font-awesome-scss をインストール

$ cd mycollectiveproject
$ npm install font-awesome-scss --save-dev
$ npm install

app.scss にインポート文を記述

次のようになるように Font Awesome の scss ファイルをインポートします。

resources/assets/sass/app.scss
// Fonts
@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);

// Variables
@import "variables";

// Bootstrap
@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";

// Font Awesome
@import "node_modules/font-awesome-scss/scss/font-awesome.scss";

app.css を生成

$ npm run dev

npm run prod とすれば, Minify されます。リリース時に変更したいですね。

welcome.blade.php を書き換える

正しく導入されたかテストするために, font-awesome のクラスセレクターを持つタグを追加します。
welcome.blade.php を以下の通りに書き換えてください。

resources/views/welcome.blade.php
<!doctype html>
<html lang="{{ config('app.locale') }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>

        <link href="{{url('css/app.css')}}" rel="stylesheet">

        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">

        <!-- Styles -->
        <style>
            html, body {
                background-color: #fff;
                color: #636b6f;
                font-family: 'Raleway', sans-serif;
                font-weight: 100;
                height: 100vh;
                margin: 0;
            }

            .full-height {
                height: 100vh;
            }

            .flex-center {
                align-items: center;
                display: flex;
                justify-content: center;
            }

            .position-ref {
                position: relative;
            }

            .top-right {
                position: absolute;
                right: 10px;
                top: 18px;
            }

            .content {
                text-align: center;
            }

            .title {
                font-size: 84px;
            }

            .links > a {
                color: #636b6f;
                padding: 0 25px;
                font-size: 12px;
                font-weight: 600;
                letter-spacing: .1rem;
                text-decoration: none;
                text-transform: uppercase;
            }

            .m-b-md {
                margin-bottom: 30px;
            }
        </style>

        <script src="{{url('js/app.js')}}"></script>
    </head>
    <body>
        <div class="flex-center position-ref full-height">
            @if (Route::has('login'))
                <div class="top-right links">
                    @if (Auth::check())
                        <a href="{{ url('/home') }}">Home</a>
                    @else
                        <a href="{{ url('/login') }}">Login</a>
                        <a href="{{ url('/register') }}">Register</a>
                    @endif
                </div>
            @endif

            <div class="content">
                <div class="title m-b-md">
                     <i class="fa fa-plane" aria-hidden="true"></i> Laravel
                </div>

                <div class="links">
                    <a href="https://laravel.com/docs">Documentation</a>
                    <a href="https://laracasts.com">Laracasts</a>
                    <a href="https://laravel-news.com">News</a>
                    <a href="https://forge.laravel.com">Forge</a>
                    <a href="https://github.com/laravel/laravel">GitHub</a>
                </div>
            </div>
        </div>
    </body>
</html>

内蔵サーバーを起動して確認

$ php artisan serve

ブラウザーを起動して表示

http://localhost:8000で表示した画面の Laravel という文字の前に飛行機のアイコンが表示されていれば成功です。

11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13