我刚刚下载了 Twitter Bootstrap 来看看 LESS 的实现。我的第一印象是 LESS 似乎是编写 CSS 的好东西,但它破坏了基于浏览器渲染进行快速编辑的能力。
假设我收到了一个我以前从未遇到过的实时站点,它是由其他人构建的,与他们经常记录的一样糟糕,并被要求更改某些元素的属性。该网站有 2000 行 CSS,我最不想做的就是让自己熟悉其中的大部分内容。
传统 CSS,在浏览器窗口中:检查元素:匹配的 CSS 规则:styles.css:1145。在选择的文本编辑器中打开 styles.css 到第 1145 行,进行更改、测试、完成。
LESS,在浏览器窗口中:从 CSS 文件中返回匹配的 CSS 规则,该文件由(在 Bootstrap 中)42 个不同的 LESS 文件的任意组合编译而成。编译后的 CSS 文件中没有任何迹象表明哪个组件 LESS 文件源自该属性。继续在 42 个不同的 LESS 文件中搜索进行更改的适当位置。
因此,当你有时间/熟悉一个项目来从头开始理解它时,LESS 似乎真的很棒——这样你就知道哪个变量声明了在 mixin 中调用的颜色以产生进一步给出的边框类声明中的属性——但如果你是一个不幸的开发人员,他有十分钟的时间从别人的代码中弄清楚如何(更具体地说,是在哪里)更改所有边框上的颜色,则不是那么好。
难道我都搞错了吗?是 LESS 打破了懒惰、快乐的浏览器端快速修复策略,还是有一些我还没有想出的方法来保留快速而肮脏的工作流程?