将 uglifycss 应用到我的 css 时,我所有的 @media 和 @font-face 声明都丢失了
When applying the uglifycss to my css, all my @media and @font-face declarations are lost
我在我的基本树枝模板中使用以下块来创建压缩的 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 部分从 compiled/compressed css 中消失了。
如果我只应用 cssrewrite 过滤器而不应用 uglifycss 过滤器,@media 和 @font-face 部分就在那里,正如预期的那样。
我使用:uglifycss@0.0.15,Symfony v2.6.8,symfony/assetic v2.6.1
有谁知道这里可能出了什么问题?
感谢您的帮助!
多米尼克
编辑:
我能够把它固定下来一点。 Symfony 执行以下命令,以丑化 css。
/usr/bin/nodejs /usr/local/bin/uglifycss /path/to/my/app.css
在 bash 命令行上执行相同的命令也会导致相同的错误行为。所以这不是 Symfony 或 assetic 的问题,而是 uglifycss 的问题。
有什么想法吗?
干杯,
多米尼克
进一步调试发现 css 评论是问题所在。
根据 http://www.w3.org/TR/CSS21/syndata.html#comments 这样的评论:
/*/////////////////////////////////*/
/* some comment */
/*/////////////////////////////////*/
但事实证明,uglifycss 0.0.15 以'/*/'结尾的注释存在问题。
在最后一个 '/' 和 '*/' 之间添加一个 space 解决了我的问题。
/*//////////////////////////////// */
/* some comment */
/*//////////////////////////////// */
我还在 github 上开了一个问题。 https://github.com/fmarcia/UglifyCSS/issues/33
干杯,
多米尼克
我在我的基本树枝模板中使用以下块来创建压缩的 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 部分从 compiled/compressed css 中消失了。
如果我只应用 cssrewrite 过滤器而不应用 uglifycss 过滤器,@media 和 @font-face 部分就在那里,正如预期的那样。
我使用:uglifycss@0.0.15,Symfony v2.6.8,symfony/assetic v2.6.1
有谁知道这里可能出了什么问题?
感谢您的帮助! 多米尼克
编辑: 我能够把它固定下来一点。 Symfony 执行以下命令,以丑化 css。
/usr/bin/nodejs /usr/local/bin/uglifycss /path/to/my/app.css
在 bash 命令行上执行相同的命令也会导致相同的错误行为。所以这不是 Symfony 或 assetic 的问题,而是 uglifycss 的问题。
有什么想法吗?
干杯, 多米尼克
进一步调试发现 css 评论是问题所在。
根据 http://www.w3.org/TR/CSS21/syndata.html#comments 这样的评论:
/*/////////////////////////////////*/
/* some comment */
/*/////////////////////////////////*/
但事实证明,uglifycss 0.0.15 以'/*/'结尾的注释存在问题。
在最后一个 '/' 和 '*/' 之间添加一个 space 解决了我的问题。
/*//////////////////////////////// */
/* some comment */
/*//////////////////////////////// */
我还在 github 上开了一个问题。 https://github.com/fmarcia/UglifyCSS/issues/33
干杯, 多米尼克