Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
symfony2无法使用指南针时的资产回退_Symfony_Assetic_Compass Sass - Fatal编程技术网

symfony2无法使用指南针时的资产回退

symfony2无法使用指南针时的资产回退,symfony,assetic,compass-sass,Symfony,Assetic,Compass Sass,我正在使用kriswallsmith assetic bundle为css提供compass过滤器,在开发环境中,每次都会生成css,而在prod环境中,样式使用转储的css文件提供,而不使用compass操作。所以我想知道,如果smyfony无法找到compass二进制文件,dev env中是否有一种方法可以提供与prod env相同的css文件 以下是我如何在头脑中加载sass文件: {% stylesheets filter="compass" "@Bundle/Resources

我正在使用kriswallsmith assetic bundle为css提供compass过滤器,在开发环境中,每次都会生成css,而在prod环境中,样式使用转储的css文件提供,而不使用compass操作。所以我想知道,如果smyfony无法找到compass二进制文件,dev env中是否有一种方法可以提供与prod env相同的css文件

以下是我如何在头脑中加载sass文件:

{% stylesheets filter="compass"
    "@Bundle/Resources/public/css/colors.sass"
    "@Bundle/Resources/public/css/layout.sass"
    "@Bundle/Resources/public/css/menu.sass"
    "@Bundle/Resources/public/css/main.sass"
    "@Bundle/Resources/public/css/fonts.sass"
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{%stylesheets filter=“compass”
“@Bundle/Resources/public/css/colors.sass”
“@Bundle/Resources/public/css/layout.sass”
“@Bundle/Resources/public/css/menu.sass”
“@Bundle/Resources/public/css/main.sass”
“@Bundle/Resources/public/css/fonts.sass”
%}
{%endstylesheets%}

是否有解决方法?

您可以使用过滤器前面的问号(?),仅在生产模式下应用,或者在调试模式关闭时更精确地应用

{% stylesheets filter="?compass"
    "@Bundle/Resources/public/css/colors.sass"
     // ...
%}
     <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %} 
然后在细枝上使用它,如下所示:

{% if env == 'dev' %}
    <link rel="stylesheet" href="{{ asset('/path/to/your/compiled/asset.css"') }} />
{% else }
    // ...
 {% endif %}
{%if env=='dev%}

您可以使用过滤器前面的问号(?),仅在生产模式下应用它,或者在调试模式关闭时更精确地应用它

{% stylesheets filter="?compass"
    "@Bundle/Resources/public/css/colors.sass"
     // ...
%}
     <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %} 
然后在细枝上使用它,如下所示:

{% if env == 'dev' %}
    <link rel="stylesheet" href="{{ asset('/path/to/your/compiled/asset.css"') }} />
{% else }
    // ...
 {% endif %}
{%if env=='dev%}

请回顾我的asnwer-这是你期望的吗?请回顾我的asnwer-这是你期望的吗?谢谢nifr,但是,从这些方面来说,我想我没有得到我想要的。我希望assetic在dev环境中连接文件,但前提是系统中安装了compass。我不喜欢第二个选项,因为如果我在样式表中工作,并且我想删除一些属性,那么在我编译一个新的样式表之前,网站将从编译后的css中加载这些属性,所以这不是很方便。。。但实际上是我想要的更准确的行为。我担心的是与其他人一起发展,而不需要强迫他们安装指南针,他们会看到正确的样式。谢谢nifr,但是,从这些方面来说,我认为我没有得到我想要的。我希望assetic在dev环境中连接文件,但前提是系统中安装了compass。我不喜欢第二个选项,因为如果我在样式表中工作,并且我想删除一些属性,那么在我编译一个新的样式表之前,网站将从编译后的css中加载这些属性,所以这不是很方便。。。但实际上这是我想要的更准确的行为。我担心的是与其他人一起发展,而不需要强迫他们安装指南针,他们会看到正确的风格。