我在基本树枝模板中使用以下块来创建压缩的css文件:
{% stylesheets output='bundles/myBundle/compressed/compressed.css'
filter='uglifycss'
filter='cssrewrite'
'bundles/myBundle/stylesheets/app.css'
'bundles/myBundle/stylesheets/tablet.css'
'bundles/myBundle/stylesheets/phone.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
在几周之前(以及升级到ubuntu 15.04)之前,这可以正常转储我的所有css文件。
现在,我的@media和我的@ font-family部分已从编译/压缩的css中删除。
如果我只应用cssrewrite过滤器而不是uglifycss过滤器,@ media和@ font-face部件就在那里,就像预期一样。
我使用:uglifycss@0.0.15,Symfony v2.6.8,symfony / assetic v2.6.1
有谁知道这里可能出现的问题?
Thanx的帮助! 多米尼克
编辑: 我能够把它钉一点。 Symfony执行以下命令来uglify css。
/usr/bin/nodejs /usr/local/bin/uglifycss /path/to/my/app.css
在bash命令行上执行相同的命令也会导致相同的错误行为。因此,这不是一个Symfony或资产问题,但似乎是一个丑陋的问题。
有什么想法吗?
干杯, 多米尼克
答案 0 :(得分:0)
进一步的调试显示,css评论是个问题。
根据http://www.w3.org/TR/CSS21/syndata.html#comments这样的评论:
/*/////////////////////////////////*/
/* some comment */
/*/////////////////////////////////*/
但事实证明,uglifycss 0.0.15在以“/ * /”结尾的注释中存在问题。
在最后一个'/'和'* /'之间添加一个空格解决了我的问题。
/*//////////////////////////////// */
/* some comment */
/*//////////////////////////////// */
我也在github上打开了一个问题。 https://github.com/fmarcia/UglifyCSS/issues/33
干杯, 多米尼克