【发布时间】:2014-06-05 09:51:59
【问题描述】:
我希望能够在 ember-cli 项目中使用 compass 将我的 SASS 预处理为 CSS。
使用broccoli-sass 执行此操作很简单,因为只需要bower install broccoli-sass,因为已经内置了对它的支持。
但是,使用broccoli-compass 执行此操作非常棘手……如何?
详情:
这个问题之前有人问过,for ember-cli v0.0.23;
它的答案似乎已经过时了-
主要问题似乎是 ember-cli 抽象了Brocfile.js 中的许多内容,并使用Registry 将其放入另一个文件preprocessor.js,因此解决方案与标准外观不同Brocfile.js
更新:
@saygun 已经回答了这个问题,解决方案允许使用 broccoli-compass 编译 SCSS --> CSS。但是有几点需要注意:
- 小问题:meber-cli 中现有的
minifyCss预处理器将不起作用。您需要配置 compass 以缩小自己的 CSS。 - 主要问题:如果 SCSS 文件引用图像,则生成的 CSS 文件包含指向图像的链接,其中路径位于 Broccoli 创建的临时树文件夹中。我不知道如何解决这个问题,并提出了一个后续问题:How to generate image sprites in ember-cli using compass?
【问题讨论】:
-
@JordyLangen 在项目文件夹中,找到
node_modules/ember-cli/lib/preprocessors.js,我找到了这个Registry系统。我试图向其中添加一个新函数(modules.exports.preprocessCompass = function...),但只是得到了一些相当神秘的堆栈跟踪......所以不是很远。我将在下面尝试@saygun 的建议。 -
@JordyLangen 我在这个issue on github 中更详细地介绍了一些细节,尽管在这种情况下,它并不特定于
broccoli-compass,而是关于添加在mainBrocfile.js并使其与preprocessors.js中的内置功能很好地集成。
标签: javascript ember.js compass-sass ember-cli broccolijs