slushie/laravel-assetic

此包最新版本(v1.2.0)没有提供许可证信息。

Assetic 对 Laravel 4 的支持

v1.2.0 2015-06-26 17:48 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:10:46 UTC


README

轻松将 Assetic 集成到 Laravel 4。

Total Downloads Latest Stable Version Latest Unstable Version License

主要功能

  1. 轻松维护组内的资产。
  2. 即时单文件编译、连接和压缩。
  3. 为每个组应用多个过滤器。
  4. 当输入更改时,自动更新输出文件。
  5. 使用 artisan asset:warm 预编译资产。

用法

将以下内容添加到您的 composer.json 文件中

"require": {
    "laravel/framework": "4.0.*",
    "slushie/laravel-assetic": "dev-master",
    "lmammino/jsmin4assetic": "1.0.0",
    "leafo/lessphp": "0.4.0"
}

运行 composer update 后,您需要在您的 app/config/app.php 文件中添加服务提供者(并可选择别名 Asset 门面)

'providers' => array(
    ...
    'Slushie\LaravelAssetic\LaravelAsseticServiceProvider',
    ...
),

'aliases' => array(
    ...
    'Asset'           => 'Slushie\LaravelAssetic\Facades\AssetFacade',
    ...
),

更新您的应用程序配置后,生成包配置

php artisan config:publish slushie/laravel-assetic

现在 laravel-assetic 配置文件将在以下位置可用

app/config/packages/slushie/laravel-assetic/config.php

最后,编辑配置文件以定义您的资产。您可以定义多个组,每个组都有不同的过滤器和资产。

定义过滤器

过滤器在包配置文件中定义。

'filters' => array(
    'css_min'       => 'Assetic\Filter\CssMinFilter',
    'css_import'    => 'Assetic\Filter\CssImportFilter',
    'css_rewrite'   => 'Assetic\Filter\CssRewriteFilter',
    'embed_css'     => 'Assetic\Filter\PhpCssEmbedFilter',
    'less_php'      => 'Assetic\Filter\LessphpFilter',
    'js_min'        => 'Assetic\Filter\JSMinFilter',
    'coffee_script' => 'Assetic\Filter\CoffeeScriptFilter',
    'yui_js' => function () {
        return new Assetic\Filter\Yui\JsCompressorFilter('yui-compressor.jar');
    },
),

将资产添加到组中

每个组定义 assetsfilters 作为输入,以及应包含在视图中的 output 文件。

'groups' => array(
    'main_js' => array(
        'filters' => array(
            'js_min',
        ),
        'assets' => array(
            'jquery',                       // Named asset defined below
            'assets/js/common/search.js',   // Single file
            'assets/js/coolarize/*js',      // Folder inclusion
        ),
        'output' => 'scripts.js',           // Writable output relative to public_path()
    ),
),

在视图中使用资产

定义后,您的组可以通过 Asset 门面在视图中访问。要链接到 main_js 组,您可以使用以下 Asset::url() 方法

<script src="<?php echo Asset::url('main_js'); ?>"></script>

这将输出资产文件的 URL(在本例中为 /scripts.js)。

当页面加载时,Assetic 将生成文件,连接所有文件并运行定义的过滤器。

您还可以通过 artisan 命令生成资产输出文件

php artisan asset:warm

当然,这也可以作为一个 composer post-install 命令在部署时生成资产。

更多信息

通过阅读源代码(已完全文档化)或您可以在 https://github.com/slushie/laravel-assetic/issues 上提出问题来获取更多信息