如何告诉Laravel要包含哪些脚本文件

时间:2015-06-25 09:21:15

标签: php laravel laravel-5

如何告诉Laravel-5我想在模板中包含哪些Javascript文件。

例如,我的控制器有这样的东西:

return view('butchery', ['locations' => $locations, 'classTypes' => $classTypes]);

我的 butchery.blade.php 模板带有我的html:

@extends('app')
@section('content')
<!-- html here -->
@endsection

...我有我的app.blade.php容器模板,底部是我所有的javascript文件。如果我不想在我的视图中包含其中一个javascript文件,我该怎么做?

app.blade.php

<!DOCTYPE HTML>
<!--[if IE 8]><html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--><html><!--<![endif]-->

<head></head>
<body>@yield('content')</body>
<script src="/js/mobile-menu.js"></script>
<!-- apply voucher code --> 
<script src="/js/voucher-apply.js"></script>
</html>

2 个答案:

答案 0 :(得分:6)

您应该在模板中创建一个应加载脚本的部分,并在页面中使用它来包含所需的脚本。

像这样:

<强>模板:

@extends("template")

@section('content')
    <h1>Hello world!</h1>
@stop

@section('scripts')
    <script src="/path/to/script.js"></script>
@stop

网页:

@yield('scripts')

这样您就可以在页面上包含所需的脚本。可以在RewriteEngine On RewriteCond %{QUERY_STRING} page=philosophie RewriteRule ^index\.php$ http://www.example.ch/buero.html [R=301,L] 下方或上方添加整个模板所需的脚本。

答案 1 :(得分:1)

您可以使用roumen/asset包。它非常易于使用,可满足您的所有需求。只需在某处设置默认的资产集(例如AppServiceProvider),然后在控制器中添加仅为此特定页面所需的其他js文件。这是管理资产堆栈的简便方法。

当然你可以手动完成。但是,你必须让你的view composer共享js文件数组并在你的视图中编译它们。然后再制作一些默认的js / css文件数组,并在控制器方法中扩展它们。