单个样式表必须在 sass 目录中
Posted
技术标签:
【中文标题】单个样式表必须在 sass 目录中【英文标题】:Individual stylesheets must be in the sass directory 【发布时间】:2014-11-22 22:25:39 【问题描述】:我正在尝试设置 symfony2 来编译 sass 文件。
但是每次我运行php app/console assetic:dump
时都会出现以下错误:
Individual stylesheets must be in the sass directory.
这就是我的 main.scss 的样子:
@import "utilities/variables";
@import "base/layout";
@import "base/footer";
@import "base/modules";
@import "base/form";
@import "base/button";
@import "base/plugin-overrides";
@import "utilities/loaders";
这些文件中没有纯 css,我尝试评论所有内容,但它一直抛出错误。
我正在使用这个渲染所有内容:
% block stylesheets %
% stylesheets
filter='compass'
'bundles/mybundle/styles/main.scss'
%
<link rel="stylesheet" type="text/css" href=" asset_url "/>
% endstylesheets %
% endblock %
应该使用过滤器compass
获取文件并编译
我的资产配置如下:
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ 'MaximCMSBundle' ]
#java: /usr/bin/java
filters:
cs-s-rewrite: ~
sass: ~
compass: ~
我已经在参数中定义了 compass 和 sass 的正确路径:
ruby.path: 'C:\Ruby200-x64\bin'
assetic.filter.sass.bin: 'C:\Ruby200-x64\bin\sass'
assetic.filter.compass.bin: 'C:\Ruby200-x64\bin\compass'
assetic.filter.compass.images_dir: '%kernel.root_dir%/../web/images'
assetic.filter.compass.http_path: /images
我正在运行以下版本:
SASS:3.4.5
指南针:1.0.1
当我将这些版本回滚到以下版本时:
SASS:3.2.19
指南针:0.12.7
一切正常,但我想使用最新版本。
【问题讨论】:
这里也一样...你解决了吗? 我使用的是旧的 SASS 和 Compass 版本,从那以后我没有测试过 【参考方案1】:资产过滤器需要进行一行更改才能与较新版本的 Compass / Saas 一起使用
编辑“vendor/kriswallsmith/assetic/src/Assetic/Filter/CompassFilter.php”
将第 312 行更改为:
$pb->add('--sass-dir')->add('')->add('--css-dir')->add('');
到:
$pb->add('--sass-dir')->add($tempDir)->add('--css-dir')->add($tempDir);
这为我解决了问题。
【讨论】:
【参考方案2】:在尝试了 Indivision Dev 的解决方案和我在网上看到的其他解决方案后,我通过清除缓存解决了这个问题:
php app/console cache:clear -e prod
【讨论】:
以上是关于单个样式表必须在 sass 目录中的主要内容,如果未能解决你的问题,请参考以下文章