SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Laravel における
Blade 拡張の ツラミ
第128回 PHP勉強会@東京
Laravel における
Blade 拡張の ツラミ
第128回 PHP勉強会@東京
誰か .
助けて .
岡田 正平(おかだ しょうへい)@okashoi
• 株式会社ウィルゲート 2015年新卒入社
• 開発室 ソリューションユニット 所属
• PHP, Laravel, Vue.js
3
自己紹介
Slides:
4
Blade ディレクティブ( @~ )は拡張できる
※ Blade … Laravel で採用されているテンプレートエンジン
5
原理説明
<?php
namespace App¥Providers;
use Illuminate¥Support¥ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
¥Blade::directive('hoge', function () {
return '<div>fuga</div>';
});
}
↑これを書いておくと
@hoge
<div>fuga</div>
このように展開される
やりたいこと
@js(/index.js) と書くと、JS ファイルのタイムスタンプを
パラメータとして付与して
<script src="/js/index.js?v=1532351569"></script>
といった感じで展開させる
6
例)Cache busting を考える
7
とりあえずやってみる
public function boot()
{
¥Blade::directive('js', function ($path) {
$fullPath = public_path('js' . $path);
$src = "/js{$path}?v=" . ¥File::lastModified($fullPath);
return "<script src=¥"{$src}¥"></script>";
});
8
とりあえずやってみる
public function boot()
{
¥Blade::directive('js', function ($path) {
$fullPath = public_path('js' . $path);
$src = "/js{$path}?v=" . ¥File::lastModified($fullPath);
return "<script src=¥"{$src}¥"></script>";
});
ファイルのタイムスタンプを取得
9
とりあえずやってみる:結果
@js(/index.js)
<script src="/js/index.js?v=1532351569"></script>
一見よさそう
50点
storage/framework/views 下のキャッシュファイルの中身もまた
(view キャッシュが残っている限り)
JS ファイルのタイムスタンプが更新されても反映されない
11
なぜ?
<script src="/js/index.js?v=1532351569"></script>
storage/framework/views 下のキャッシュファイルの中身もまた
(view キャッシュが残っている限り)
JS ファイルのタイムスタンプが更新されても反映されない
➢ Blade ディレクティブは
echo をする PHP タグを文字列として返さないといけない
12
なぜ?
<script src="/js/index.js?v=1532351569"></script>
「文字列リテラルはシングルクオートね(^^)」を守ると
13
書き換え①
public function boot()
{
¥Blade::directive('js', function ($path) {
$fullPath = public_path('js' . $path);
return '<?php echo ¥'<script src="/js' . $path . '?v=¥' . ¥¥File::lastModified(¥'' . $fullPath . '¥') . ¥'"></script>¥' ?>';
});
「文字列リテラルはシングルクオートね(^^)」を守ると
14
書き換え①
public function boot()
{
¥Blade::directive('js', function ($path) {
$fullPath = public_path('js' . $path);
return '<?php echo ¥'<script src="/js' . $path . '?v=¥' . ¥¥File::lastModified(¥'' . $fullPath . '¥') . ¥'"></script>¥' ?>';
});
主にこのへんが
ツライ
ダブルクオートを使って変数展開を活用
15
書き換え②
public function boot()
{
¥Blade::directive('js', function ($path) {
$fullPath = public_path('js' . $path);
return "<?php echo '<script src=¥"/js{$path}?v=' . ¥¥File::lastModified('{$fullPath}') . '¥"></script>' ?>";
});
多少はマシ?でもやっぱりツライ
動的に変わるのは下線の部分だけなので、そこだけを echo する
16
書き換え③
<script src="/js/index.js?v=1532351569"></script>
動的に変わるのは下線の部分だけなので、そこだけを echo する
17
書き換え③
<script src="/js/index.js?v=1532351569"></script>
public function boot()
{
¥Blade::directive('js', function ($path) {
$fullPath = public_path('js' . $path);
return "<script src=¥"/js{$path}?v=<?php echo ¥¥File::lastModified('{$fullPath}') ?>¥"></script>";
});
思ったよりツラミは改善されない
• ほかにも sprintf() とか使って頑張ってみても全然可読にならない
• ていうかこんなコードメンテしたくない!
• 欲しい文字列(HTMLタグ)を返すメソッドが生えたクラスを用意して
Facade とかにして
ってした方が圧倒的に楽
• Balde 拡張の意義って一体……?
18
そんなことより
{!! ViewHelper::js('/index.js') !!}
Blade 拡張のうまい使い道を
知ってる方は教えてください
19
というわけで……
完

Weitere ähnliche Inhalte

Ähnlich wie Laravel における Blade 拡張のツラミ

LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25
LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25
LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25Isao Ebisujima
 
Laravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならLaravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならShohei Okada
 
Laravel × レイヤードアーキテクチャをやってみている話
Laravel × レイヤードアーキテクチャをやってみている話Laravel × レイヤードアーキテクチャをやってみている話
Laravel × レイヤードアーキテクチャをやってみている話Shohei Okada
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4leverages_event
 
第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 LaravelJunKeun Lee
 
Laravelとテストについて
LaravelとテストについてLaravelとテストについて
LaravelとテストについてTakeo Noda
 
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014Yuuki Takezawa
 
チームで「きちんと」Laravel を使っていくための取り組み
チームで「きちんと」Laravel を使っていくための取り組みチームで「きちんと」Laravel を使っていくための取り組み
チームで「きちんと」Laravel を使っていくための取り組みShohei Okada
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerHideo Kashioka
 
Laravel4で運用するサービス,そしてlaravel5へ
Laravel4で運用するサービス,そしてlaravel5へLaravel4で運用するサービス,そしてlaravel5へ
Laravel4で運用するサービス,そしてlaravel5へNʎ Nkogues
 
LaravelとNuxt.jsを業務で取り入れる際に得た知見
LaravelとNuxt.jsを業務で取り入れる際に得た知見LaravelとNuxt.jsを業務で取り入れる際に得た知見
LaravelとNuxt.jsを業務で取り入れる際に得た知見ssuserb6dacf
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxHideo Kashioka
 
Laravel meetup5(Laravel meet NewSQL/VoltDB )
Laravel meetup5(Laravel meet NewSQL/VoltDB )Laravel meetup5(Laravel meet NewSQL/VoltDB )
Laravel meetup5(Laravel meet NewSQL/VoltDB )Yuuki Takezawa
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>LaravelハンズオンセミナーTatsuyoshi Mashiko
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoyatamotsu toyoda
 
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]Yuuki Takezawa
 
第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会Yuta Mizui
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザインKazuhiro Hara
 

Ähnlich wie Laravel における Blade 拡張のツラミ (20)

LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25
LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25
LaravelとNuxt.jsを業務で取り入れる際に得た知見 Laravel/Vue.js勉強会#4 2018/04/25
 
Laravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならLaravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するなら
 
Laravel × レイヤードアーキテクチャをやってみている話
Laravel × レイヤードアーキテクチャをやってみている話Laravel × レイヤードアーキテクチャをやってみている話
Laravel × レイヤードアーキテクチャをやってみている話
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
 
第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel
 
Laravelとテストについて
LaravelとテストについてLaravelとテストについて
Laravelとテストについて
 
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014
 
転職とLaravel
転職とLaravel転職とLaravel
転職とLaravel
 
チームで「きちんと」Laravel を使っていくための取り組み
チームで「きちんと」Laravel を使っていくための取り組みチームで「きちんと」Laravel を使っていくための取り組み
チームで「きちんと」Laravel を使っていくための取り組み
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
 
Laravel4で運用するサービス,そしてlaravel5へ
Laravel4で運用するサービス,そしてlaravel5へLaravel4で運用するサービス,そしてlaravel5へ
Laravel4で運用するサービス,そしてlaravel5へ
 
LaravelとNuxt.jsを業務で取り入れる際に得た知見
LaravelとNuxt.jsを業務で取り入れる際に得た知見LaravelとNuxt.jsを業務で取り入れる際に得た知見
LaravelとNuxt.jsを業務で取り入れる際に得た知見
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
 
Laravel meetup5(Laravel meet NewSQL/VoltDB )
Laravel meetup5(Laravel meet NewSQL/VoltDB )Laravel meetup5(Laravel meet NewSQL/VoltDB )
Laravel meetup5(Laravel meet NewSQL/VoltDB )
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya
 
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
 
第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザイン
 

Mehr von Shohei Okada

「登壇しているひとは偉い」という話
「登壇しているひとは偉い」という話「登壇しているひとは偉い」という話
「登壇しているひとは偉い」という話Shohei Okada
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!Shohei Okada
 
自分たちのコードを Composer パッケージに分割して開発する
自分たちのコードを Composer パッケージに分割して開発する自分たちのコードを Composer パッケージに分割して開発する
自分たちのコードを Composer パッケージに分割して開発するShohei Okada
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumaiクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumaiShohei Okada
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaShohei Okada
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondoクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondoShohei Okada
 
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfukLaravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfukShohei Okada
 
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyoエラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyoShohei Okada
 
スペシャリストとして組織をつくる、というキャリア
スペシャリストとして組織をつくる、というキャリアスペシャリストとして組織をつくる、というキャリア
スペシャリストとして組織をつくる、というキャリアShohei Okada
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる MakefileShohei Okada
 
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよはじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよShohei Okada
 
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...Shohei Okada
 
働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソードShohei Okada
 
Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかShohei Okada
 
2017 年度を振り返って ~アウトプット編~
2017 年度を振り返って ~アウトプット編~2017 年度を振り返って ~アウトプット編~
2017 年度を振り返って ~アウトプット編~Shohei Okada
 
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみたLaravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみたShohei Okada
 
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話Shohei Okada
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!Shohei Okada
 
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1Shohei Okada
 

Mehr von Shohei Okada (20)

「登壇しているひとは偉い」という話
「登壇しているひとは偉い」という話「登壇しているひとは偉い」という話
「登壇しているひとは偉い」という話
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!
 
自分たちのコードを Composer パッケージに分割して開発する
自分たちのコードを Composer パッケージに分割して開発する自分たちのコードを Composer パッケージに分割して開発する
自分たちのコードを Composer パッケージに分割して開発する
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumaiクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondoクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
 
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfukLaravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
 
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyoエラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
 
スペシャリストとして組織をつくる、というキャリア
スペシャリストとして組織をつくる、というキャリアスペシャリストとして組織をつくる、というキャリア
スペシャリストとして組織をつくる、というキャリア
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる Makefile
 
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよはじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
 
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
 
働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード
 
Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのか
 
2017 年度を振り返って ~アウトプット編~
2017 年度を振り返って ~アウトプット編~2017 年度を振り返って ~アウトプット編~
2017 年度を振り返って ~アウトプット編~
 
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみたLaravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
 
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1
 

Laravel における Blade 拡張のツラミ