ルートに対するアクセス時にセッション等を利用してユーザーを判別し、
ユーザーごとに異なるJavaScriptを返すというのを試してみたので、その際の関連メモです。
resources/views/dynamic/script.blade.php
// BladeテンプレートにそのままJavaScriptを記述してます
(function(){
window.App = {
env: '{{ config('app.env') }}'
}
})()
routes/web.php
Route::prefix('dynamic')->group(function () {
Route::get('my-script.js', function () {
return response()->view('dynamic/script', [], 200, [
'Content-Type' => 'application/javascript; charset=UTF-8',
]);
});
});
<script src="/dynamic/my-script.js"></script>
Content-Type
を指定するために、
ヘルパー関数の response()
が返す ResponseFactory
の、 view()
というメソッドを利用しています。
(参考: Illuminate\Contracts\Routing\ResponseFactory | Laravel API)
試したはいいけど出番は無かったです。