Existe uma maneira de compilar arquivos MENOS para CSS (para que todo navegador não precise)?


20

Estou pensando em usar LESS, mas me arrepio com a idéia de um navegador ter o JavaScript desativado e meu CSS não ser legível (e o site parecer horrível).

Além disso, ofende o engenheiro em mim forçar todos os navegadores a "compilarem" esse arquivo Less para .css quando poderíamos "compilar" uma vez toda vez que o modificássemos.


11
@ Anonymous- Se você der menos, você também deve dar uma olhada no SASS e no COMPASS.
Sorcy

Stylus e OOCSS também são produtos similares.
Lèse majesté


3
Eu não sabia que alguém estava compilando MENOS nos navegadores!
precisa saber é o seguinte

Respostas:


17

Sim. Você pode usar um aplicativo que compile automaticamente MENOS arquivos para CSS em sua máquina de desenvolvimento enquanto codifica. Em seguida, basta fazer o upload do arquivo CSS gerado para o servidor quando você terminar de desenvolver.



10

LESS vem com um binário (lessc) que permite pré-compilar seus arquivos .less. Você o usa como tal:

 $ lessc styles.less > styles.css

Mas acho que a maioria das pessoas usa o comando lessc -wou lessc --watchpara recompilar a folha de estilo CSS automaticamente sempre que o arquivo LESS é atualizado. Você também pode ter lessc minify o CSS, por exemplo lessc -w -x.

Edit: Apenas para esclarecer, lessc vem com a instalação do servidor (ou seja, quando você instala menos através do gerenciador de pacotes node.js.). Mas você pode baixá-lo manualmente no GitHub .

lessc está localizado em /bin/lessc. Este é, naturalmente, um binário * nix (também deve trabalhar para Mac), mas não é um binário do Windows ( lessc.exe ) com base na dotless, que é um outro compilador do Windows menos.

Atualização: use less-watchpara compilar automaticamente.

Como alternativa, muitos desenvolvedores hoje em dia usam executores de tarefas como gruntpara lidar com a automação de compilação (compilação, minificação, teste etc.). Usando grunt-contrib-watch, grunt-contrib-lesse grunt-contrib-livereload, você pode realmente agilizar seu fluxo de trabalho de desenvolvimento.

Por exemplo, se você usa o yoandaime para o seu novo projeto da Web, ele é pré-configurado para observar os arquivos LESS / CSS / JS / HTML quanto a alterações e recompilar as partes necessárias do seu projeto, quando necessário. Basta executar grunt servee você estará pronto para codificar sem ter que se preocupar em compilar manualmente (LESS / SASS / CoffeeScript) / minificar / concatenar seu código ou atualizar seu navegador manualmente como um homem das cavernas ...


11
Não tenho certeza de qual versão você está usando. Na versão mais recente 1.3.0, não há recurso --watch. Uma solicitação de recebimento de um recurso --watch foi cancelada há 9 meses. github.com/cloudhead/less.js/pull/246
Gerard Roche

@BullfrogBlues: Desculpe, isso era do antigo lessc baseado em Ruby.
Lèse majesté 14/09/12

Nota: "less-watch foi renomeado para fs-change. Use isso em vez disso:. npm install -g fs-change"
Andrew Lott

6

Existem várias opções para compilar MENOS em CSS no servidor, e a que você escolher provavelmente dependerá do que você usar no restante do site.

  • Se você usar o node.js, o lesscss original fará o trabalho.
  • Se você usa PHP, lessphp . Ele tem uma API um pouco ruim quando se trata de passar variáveis ​​do PHP, mas faz o trabalho.
  • Se você usa Ruby, o SASS não é LESS, mas é tão parecido que, quando mudei de SASS (projeto pessoal) para LESS (um projeto PHP no trabalho), não notei outras diferenças além da extensão do arquivo. Também possui uma biblioteca útil de mixins - COMPASS . Não tentei usá-los com menos, mas espero que funcionem. (Aparentemente, o LESS era originalmente Ruby, então provavelmente existe um compilador antigo flutuando por aí também).
  • Se você usa o ASP.Net, há .less . Eu não usei este, então não sei como funciona.
  • Se você usa Java, lesscss4j conclui a compilação com o ambiente de script Rhino interno do LESS e do Java 6 original.
  • Se você usa Perl, existe um módulo LESSp no CPAN.

2
Não é um compilador Ruby que vem com a idade gem MENOS Rubi mas não é mais atualizado para um monte de novas funcionalidades não funcionarão nele. Portanto, se você usa Ruby, eu recomendaria apenas o uso do lessccompilador binário baseado na versão mais recente do less.js.
Lèse majesté

@ Lèsemajesté, eu iria apenas com o SASS, mas não queria ser acusado de ignorar intencionalmente a possibilidade de compilar LESS em Ruby.
31812 Peter Taylor

11
Sim, acho que o SASS seria a melhor opção para Ruby, pois a gema LESS foi descontinuada desde a mudança para JS.
Lèse majesté
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.