0

第一个 Stackoverflow 问题。嗯!

Silex-Assetic 就像我的头脑一样。

遵循 https://github.com/mheap/Silex-Assetic/blob/master/doc/assetic.rst 上的文档和 https://github.com/mheap/Silex-Assetic-Demo 上演示,我最终得到了这个:

$app->register(new SilexAssetic\AsseticServiceProvider());

$app['assetic.path_to_web'] = __DIR__ . '/assets/min';
$app['assetic.options'] = array(
    'debug'              => true,
    'auto_dump_assets'  => true
);

$app['assetic.filter_manager'] = $app->share(
$app->extend('assetic.filter_manager', function($fm, $app) {
        $fm->set('yui_css', new Assetic\Filter\Yui\CssCompressorFilter(
            __DIR__ . '/../yuicompressor-2.4.7.jar'
        ));
        $fm->set('yui_js', new Assetic\Filter\Yui\JsCompressorFilter(
            __DIR__ . '/../yuicompressor-2.4.7.jar'
        ));

        return $fm;
    })
);

$app['assetic.asset_manager'] = $app->share(
    $app->extend('assetic.asset_manager', function($am, $app) {
        $am->set('dragons', new Assetic\Asset\AssetCache(
            new Assetic\Asset\GlobAsset(
                __DIR__ . '/assets/css/*.css',
                array($app['assetic.filter_manager']->get('yui_css'))
            ),
            new Assetic\Cache\FilesystemCache(__DIR__ . '/../cache/assetic')
        ));
        $am->get('dragons')->setTargetPath('dragons-min.css');

        return $am;
    })
);    

而且,在我的树枝文件上:

{% stylesheets '../../assets/css/*.css' filter='yui_css' output='/assets/min/dragons-min.css' %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}

我有两个问题:

  • /assets/min/dragons-min.css不知何故,我以AND 中的一个 dragons-min.css 文件结束/assets/min/assets/min/dragons-min.css
  • 如果我启用调试模式,我最终会得到奇怪的文件。

像这样:

<link href="/assets/min/dragons-min_part_1_bootstrap.min_1.css" type="text/css" rel="stylesheet" />
<link href="/assets/min/dragons-min_part_1_main_2.css" type="text/css" rel="stylesheet" />
<link href="/assets/min/dragons-min_part_1_normalize_3.css" type="text/css" rel="stylesheet" />

如果调试模式关闭,我想在/assets/css. 而且也不要以重复的目录结构结束。

在这个阶段,文档非常糟糕,我对 Silex 也有点陌生。我希望我的结构和代码受到你的挑战。:)

4

1 回答 1

0

我会查看这个 repo,它是如何集成 AsseticServiceProvider 的一个更好的例子。 https://github.com/lyrixx/Silex-Kitchen-Edition

于 2014-03-01T23:10:03.857 回答