有没有一种方法可以将LESS文件编译为CSS(这样就不必每个浏览器都可以)?


20

我正在考虑使用LESS,但我想到的是浏览器已禁用JavaScript并且我的CSS无法读取(该网站看起来很糟糕)的想法。

同样,当我们每次修改文件时,只要一次可以“编译”该文件,就会迫使每个浏览器将Less文件“编译”为.css。


1
@ Anonymous-如果签出LESS,则还应该看看SASS和COMPASS。
Sorcy,2012年

触控笔和OOCSS也是类似的产品。
冒犯君主

1
我已经发布了相关的答案,解释如何在服务器自动设置LESS编译:webmasters.stackexchange.com/questions/38386/...
romaninsh

3
我不知道有人在浏览器中编译LESS!
肯尼·埃维特

Answers:


17

是。您可以使用在编写代码时将LESS文件自动编译为开发计算机上的CSS的应用程序。完成开发后,只需将生成的CSS文件上传到服务器即可。



10

LESS带有一个二进制(lessc),可让您预编译.less文件。您可以这样使用它:

 $ lessc styles.less > styles.css

但是我认为大多数人只要更新LESS文件就可以使用lessc -wor lessc --watch命令自动重新编译CSS样式表。您也可以用lessc缩小CSS,例如lessc -w -x

编辑:只是为了澄清,lessc随服务器端安装一起提供(即,当您通过node.js软件包管理器进行更少的安装时)。但是您可以从GitHub手动下载它

lessc位于/bin/lessc。这当然是一个* nix中的二进制的(应该也适用于Mac的工作),但有一个Windows二进制文件(lessc.exe基于带点),这是另一个Windows LESS编译器。

更新: 使用less-watch自动编译。

另外,如今,许多开发人员使用任务运行程序grunt来处理构建自动化(编译,缩小,测试等)。使用grunt-contrib-watchgrunt-contrib-less并且grunt-contrib-livereload,你真的可以简化您的开发工作流程。

例如,如果您用于yo搭建新的Web项目,则它已预先配置为监视LESS / CSS / JS / HTML文件的更改,并在需要时重新编译项目的必要部分。只需运行grunt serve,您就可以编写代码,而不必担心手动编译(LESS / SASS / CoffeeScript)/最小化/级联代码或像穴居人一样手动刷新浏览器...


1
我不确定您使用的是哪个版本。在最新版本1.3.0中,没有--watch功能。9个月前,对--watch功能的请求被拒绝。github.com/cloudhead/less.js/pull/246
Gerard Roche

@BullfrogBlues:对不起,那是来自旧的基于Ruby的lessc。
冒犯君主

注意:“ less-watch已重命名为fs-change。请改用它:npm install -g fs-change。”
安德鲁·洛特

6

在服务器上有许多将LESS编译为CSS的选项,您选择的选项可能取决于站点其余部分的使用方式。

  • 如果您使用node.js,则原始的lesscss将完成此工作。
  • 如果使用PHP,请输入lessphp。从PHP传入变量时,它的API有点垃圾,但是确实可以做到。
  • 如果您使用Ruby,那么SASS并不是LESS,而是非常相似,以至于当我从使用SASS(个人项目)切换为LESS(正在工作的PHP项目)时,除了文件扩展名外,我没有发现任何其他差异。它还具有一个有用的mixins库-COMPASS。我还没有尝试将它们与LESS一起使用,但是我希望它们会起作用。(显然,LESS最初是Ruby,因此可能也有一个旧的编译器在附近浮动)。
  • 如果使用ASP.Net,则为.less。我还没有使用过,所以我不知道它的效果如何。
  • 如果您使用Java,则lesscss4j将使用原始的LESS和Java 6的内置Rhino脚本编写环境来完成编译。
  • 如果使用Perl,则CPAN中有一个LESSp模块。

2
还有就是自带的老年人较少红宝石宝石一个Ruby编译器,但它没有更新了,所以有很多的新功能将无法进行这项工作。因此,如果您使用Ruby,我建议您仅使用lessc基于less.js最新版本的二进制编译器。
冒犯君主

@Lèsemajesté,我只想使用SASS,但是我不想被指责无视其在Ruby中编译LESS的可能性。
彼得·泰勒

1
是的,我认为SASS是Ruby的最佳选择,因为自从改用JS后就不再使用LESS gem。
冒犯君主
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.