第一个Stackoverflow问题。 UHUH!
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;
})
);
而且,在我的twig文件中:
{% 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
和/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也有点新意。我很乐意让你的结构和代码受到你的挑战。 :)
答案 0 :(得分:0)
我会查看这个repo,它是如何集成AsseticServiceProvider的一个更好的例子。 https://github.com/lyrixx/Silex-Kitchen-Edition