如何告诉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>
答案 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文件数组,并在控制器方法中扩展它们。