第一个 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 也有点陌生。我希望我的结构和代码受到你的挑战。:)