我观看了NetTUTs的这个视频后,非常有兴趣尝试所展示的LESS.js方法。
除了显而易见的“如果用户没有启用javascript会怎么样?”或者“这会带来一些性能损失”之外,是否还有其他原因不能在生产中使用它呢?
LESS本质上看起来就像CSS应该是的样子...
我观看了NetTUTs的这个视频后,非常有兴趣尝试所展示的LESS.js方法。
除了显而易见的“如果用户没有启用javascript会怎么样?”或者“这会带来一些性能损失”之外,是否还有其他原因不能在生产中使用它呢?
LESS本质上看起来就像CSS应该是的样子...
我看不出为什么这个东西应该被用于生产环境。更明智的做法是将其作为构建脚本运行,然后在缓存的无cookie域上提供输出(常规CSS)。这样,在没有JavaScript的情况下也可以正常工作,并且不需要在每次页面加载时进行JavaScript处理(这会比调整过的本地代码编写的CSS解析器慢)。
我还没有在生产环境中尝试过,但是可能有一些与LESS变量相关的有趣用例。例如,您可以更改底层的less变量,进而更改一组依赖于它们的CSS规则(例如相对宽度/高度)。
请参见https://dev59.com/zmsz5IYBdhLWcg3wiYc0#8742705以获取一个有趣的补丁程序,该程序使使用简单的modifyVars()
函数轻松更改它们成为可能。
使用它,您可以通过单个本地JS调用更改Bootstrap网格大小以及所有依赖它的内容:
less.modifyVars({
'@gridColumnWidth': 50px
});
如果担心禁用Javascript的用户,我建议不要使用基于Javascript的LESS。个人认为,与基于Ruby的LESS相比,它没有任何优势,因为你只需要在开发机器上安装Ruby - 一旦将.less文件编译为.css,LESS编译后的.css文件与手写的CSS文件没有区别。