如何在laravel刀片模板中包含与渲染文件相对应的js文件?

时间:2018-08-29 14:34:44

标签: javascript laravel-5 laravel-blade

在我的laravel应用中,我有app.blade.php,带有以下代码

<html>
    <body>
        <div>
            @yield('content')
        </div>
        <script src="{{ asset('jquery.min.js') }}" ></script>
        <script src="{{ asset('bootstrap.min.js') }}" ></script>
    </body>
</html>

我有多个页面,例如page1page2等,每个页面都呈现为page1.blade.php等,这些页面具有单独的javascript文件,例如page1.js,{{1 }}。

page2.js仅应包含在page1.js中,并且也应包含在page1.blade.php中。如何为相应的刀片文件包括js文件?

我的page2.js

page1.blade.php

2 个答案:

答案 0 :(得分:3)

app.blade.php

<html>
    <body>
        <div>
            @yield('content')
        </div>
        <script src="{{ asset('jquery.min.js') }}" ></script>
        <script src="{{ asset('bootstrap.min.js') }}" ></script>
        @yield('script')
    </body>
</html>

page1.blade.php

@extends('layouts.app')

@section('content')
<section class="content-header">
  <h1>
    Page 1
  </h1>

</section>
@endsection

@section('script')
  <script src="{{ asset('page1.js') }}" ></script>
@endsection

答案 1 :(得分:1)

您可以使用5.1版本之后的@stack方法。 有关详细信息:https://laravel.com/docs/5.7/blade#stacks