cssやjs、画像を読み込む

作成日:2019-03-27, 更新日:2019-03-27

基本

・ビュー側で「{{ asset(〇〇〇) }}」を使う。
→「asset()」は元の「/public」までのURLを補ってくれる
・・・設定をいじっていなければ「{{ url(〇〇〇) }}」と同じになると思われる。

<link type="text/css" rel="stylesheet" href="{{ asset('/css/common.css') }}" />
<script type="text/javascript" src="{{ asset('/js/common.js') }}"></script>
<img src="{{ asset('/img/common.jpg') }}">

CSS、JSを毎回読み込ませる

通常、読み込まれたファイルはキャッシュに溜め込むので次回は読み込まない。
→CSSやJSを更新してもキャッシュが読み込まれるので反映されない・・・

▼回避策
・ファイルのお尻に日時を追加→「common.css?v=20190327155230」ような感じ。

▼PHPでよくあるヤツ

<link type="text/css" rel="stylesheet" href="common.css?v=<?php echo time(); ?>">

※現在のユニックスタイムをお尻につける

▼ビュー(Laravelの場合:勝手につけてくれないので手動でつける)

<?php
  $asset_ux = time();
?>
略
<link type="text/css" rel="stylesheet" href="{{ asset('css/common.css'.$asset_ux) }}" />
略

※他にも方法はあるハズなんだけど、ひとまず手っ取り早い方法。