我希望能够使用指南针在ember-cli项目中将我的SASS预处理到CSS中。
使用broccoli-sass
执行此操作非常简单,因为只需要bower install broccoli-sass
,因为它已经内置了对它的支持。
然而,对broccoli-compass
这样做,结果却相当棘手......怎么样?
详细说明:
之前已经问过这个问题,for ember-cli v0.0.23;
它的答案似乎已经过时了 -
主要问题似乎是ember-cli在Brocfile.js
中提取了大量内容,并使用preprocessor.js
将其放入另一个文件Registry
中,因此解决方案将是与标准Brocfile.js
更新
@saygun已经回答了这个问题,解决方案允许人们使用西兰花指南针编译SCSS - > CSS。但是有一些警告:
minifyCss
预处理器无效。您需要配置指南针以缩小其自己的CSS。答案 0 :(得分:3)
我最近发布了ember-cli-compass-compiler,这是一个用于较新的ember-cli应用程序的ember-cli插件(> = 0.0.37)。
只需使用命令安装:
npm install --save-dev ember-cli-compass-compiler
无需其他配置,它会正确地将app/styles/appname.scss
转换为appname.css
。如名称所示,除了sass之外,它还允许您使用Compass。
答案 1 :(得分:2)
您需要安装broccoli-compass
:
npm install broccoli-compass --save-dev
您需要安装ruby gem sass-css-importer
:
gem install sass-css-importer --pre
然后在您的brocfile中执行以下操作:
var compileCompass = require('broccoli-compass');
app.styles = function() {
var vendor = this._processedVendorTree();
var styles = pickFiles(this.trees.styles, {
srcDir: '/',
destDir: '/app/styles'
});
var stylesAndVendor = mergeTrees([vendor, styles, 'public']);
return compileCompass(stylesAndVendor, 'app' + '/styles/app.scss', {
outputStyle: 'expanded',
require: 'sass-css-importer',
sassDir: 'app' + '/styles',
imagesDir: 'images',
fontsDir: 'fonts',
cssDir: '/assets'
});
};