自 Asset Pipeline Laravel 包不允许您有条件地将脚本/样式表添加到页面,执行此操作的最佳方法是什么?
我有一个 JavaScript 文件,它是一组连接在一起的文件,包含在每个页面上,为我们提供了一个库文件。我现在需要做的是为某些页面添加另一个 JavaScript 文件(所有页面都使用相同的模板)。
我当前的计划是扩展BaseController
以添加一组脚本/样式,如果有任何项目,这些脚本/样式可以动态附加到模板。但肯定有更好的方法是 Asset Pipeline 包的一部分吗?
最佳答案
它没有使用asset-pipeline
,但我使用的解决方案是 Blade 模板中的 @parent
指令。
在我的网站上,我有几个 js
和几个 css
,我在每个页面中都需要它们(例如 Twitter bootstrap
),并且我有一个包含这些内容的 Blade 布局
。
然后在某些页面(我的应用程序是分析应用程序)上,我需要包含特定于页面的 Assets (例如图表库)。
因此,在我的布局上,我有:
@section('js')
{{ HTML::script('js/a.js') }}
@show
@section('css')
{{ HTML::style('css/a.css') }}
@show
然后在特定页面上,我有:
@extends('layouts.site')
@section('js')
@parent
{{ HTML::script('js/b.js') }}
@stop
@section('css')
@parent
{{ HTML::style('css/b.css')
@stop
这对我来说非常有用。我的应用程序中的子页面非常具体地说明了它们需要哪些额外资源,因此以这种方式控制它们是非常可行的。
关于laravel-4 - Laravel Asset Pipeline 条件 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754141/