Laravel 4:Asset :: add的替代品是什么?

seh*_*mel 38 laravel laravel-4

您如何管理新Laravel 4中的资产?看起来Taylor Otwell已经取代Asset::add了新的东西.

我想要做的是让Laravel添加我的CSS和JS文件.在Laravel 3中有几种方法可以做到这一点,但它们现在似乎已经消失了.一个是Asset::add,另一个是HTML.这些的替代品有哪些?

Ben*_*Bos 40

在Laravel 4中,您可以使用HTML该类,它默认包含在Laravel Framework包中:

样式表:

{{ HTML::style('css/style.css') }}
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

{{ HTML::script('js/default.js') }}
Run Code Online (Sandbox Code Playgroud)

  • @ w0rldart尝试`teepluss/asset`,提供[这里](https://packagist.org/packages/teepluss/asset).这是Laravel 3的一个港口,完美无瑕. (3认同)

Dir*_*irk 8

我使用帮手:

<script src="{{ asset('js/jquery-1.9.1.js') }}"></script>
<script src="{{ asset('js/bootstrap.min.js') }}"></script>
Run Code Online (Sandbox Code Playgroud)

也可以看看

vendor/laravel/framework/src/Illuminate/Support/helpers.php
Run Code Online (Sandbox Code Playgroud)

许多其他帮助程序,例如app_path(),各种数组工具,link_to_route(),link_to_action(),storage_path()等.


小智 8

Laravel 4没有开箱即用的资产管理.但是已经创建了一些包来处理这种事情.

  • codesleeve/asset-pipeline(我最喜欢的)

  • jasonlewis/basset(有一些错误)

  • teepluss/asset(最接近Laravel 3 Asset :: add()但不进行连接或缩小)

  • way/guard-laravel(需要ruby guard gem运行)


Ste*_*ian 7

当我需要将一些.css和.js文件仅附加到特定页面时,我就是这样做的:

在我的刀片模板中:

<head>
<title>.....</title>
.....
@yield('head')
</head>
Run Code Online (Sandbox Code Playgroud)

在我的特定页面刀片文件中:

@extends('template')
    @section('head')
    {{ HTML::style('css/filename.css') }}
    {{ HTML::script('js/filename.js') }}
    @stop
...
Run Code Online (Sandbox Code Playgroud)