可以将Sass或Less配置为只编译某些类吗?
问题描述:
假设我有一个很大的Sass/Less项目,比如Bootstrap,并且我想使用它的一个单独的元素(比如说一个文本框)。是否可以让Sass/Less编译仅仅需要的类,引用跨越多个文件的任何变量和mixin,只是为了编译1(或2,或5,或10)类?可以将Sass或Less配置为只编译某些类吗?
答
您可以通过添加括号来创建不会立即执行的mixin。在my less library中,我使用了一个节点脚本来创建一个我可以参考的autoload.less文件。
从那里,我创造我final类为:
@import "autoload.less";
.myClass {
#myLessModule > .aMixin();
}
我不认为这是一个完美的解决方案,但它工作得相当好对我来说,和所产生的样式表不包含多余的花式。
你可以用'reference'进口例如可用的插件。虽然通常整个方法很奇怪,但要使用单个类(通常只有大约5-10个CSS属性),您会参考并依赖10k行代码项目及其所有辅助垃圾吗?嗯...所以问题是为什么你不能自己写一个单一的类代码(通常是少花几倍的时间和更容易维护的时间)? –
真正我要做的是让自动化软件抓取我的代码来确定我使用的类(或者在模拟浏览器中使用测试来发现类列表),并仅为这些类编译CSS,以缩短资源加载时间并使文件变小。 –
这种方式更适合于另一种工具(比如“CSS优化器/收缩器”)而不是CSS预处理器(基本上,CSS预处理器语言/工具的目的是从一种语言转换到另一种语言,而不是优化/分析/缩小/处理所产生的CSS)。 –