我的所有CSS,fonts,js文件分别位于web / css /,web / fonts /和web / js /。
某些css文件使用相对路径导入/包含字体或CSS文件:
@font-face {
font-family: 'et-line';
src:url('../fonts/et-line.eot');
src:url('../fonts/et-line.eot?#iefix') format('embedded-opentype'),
url('../fonts/et-line.woff') format('woff'),
url('../fonts/et-line.ttf') format('truetype'),
url('../fonts/et-line.svg#et-line') format('svg');
font-weight: normal;
font-style: normal;
}
@import url("slider.css");
@import url("vertical.css");
当然,由于我使用的是资产,我只需在以下代码中添加cssrewrite过滤器即可正确包含我的文件:
{% stylesheets filter="cssrewrite"
'css/simpletextrotator.css'
'css/font-awesome.min.css'
'css/et-line-font.css'
'css/magnific-popup.css'
'css/flexslider.css'
'css/animate.css'
'css/style.css'
'css/custom.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
我在两个环境中清理缓存,使用以下命令:
php app/console assetic:dump
php app/console assetic:dump --env=prod
一切都在开发环境中完美运行,但在prod one中,我之前导入的确切文件(使用@ font-face和@import)不包括在内。使用调试器和控制台,我可以看到:
Assetic提供的路径不正确,Symfony在根文件夹中查找这些文件夹,同时它应该在web /文件夹中查找。
我该怎么办?
答案 0 :(得分:0)
您必须使用以下命令在prod环境中按顺序清除caché:
php app/console cache:clear --env=prod