[LESS] CSS bestanden daadwerkelijk importeren en compilen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 14-10 16:42
Sinds een tijdje ben ik wat aan het stoeien met Gulp/Bower/etc. om m'n workflow te verbeteren. In plaats van tig verschillende .js/.css bestanden gewoon concatten naar één bestand bijvoorbeeld.

Na Grunt kwam ik bij Gulp terecht en daarmee kun je gemakkelijk LESS bestanden compilen. Alleen kom ik erachter dat @import van .css bestanden ook daadwerkelijk een @import achterlaat in de CSS.

Dus nu krijg ik een vendor/<name>/css/<name>.css bovenin m'n CSS bestanden. Is er een manier in LESS om die CSS bestanden daadwerkelijk te importeren bij het compilen van het LESS bestand?

Acties:
  • 0 Henk 'm!

  • Gtoniser
  • Registratie: Januari 2008
  • Laatst online: 15:47

Acties:
  • 0 Henk 'm!

  • markvt
  • Registratie: Maart 2001
  • Laatst online: 16:20

markvt

Peppi Cola

bla.less:
code:
1
2
@import "icons.less";
@import "Style.less";


Importeer je een .less bestand of een .css?

van-tilburg.info -=- meka (sega emulator) - Proud MEDION fanclub member - KOPPIG VOLHOUDEN !


Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 14-10 16:42
Wow hey, bedankt! Ik was al aan het zoeken op 'import' op diezelfde pagina. Kon niks vinden! :/ Slecht geslapen vannacht, maar die had ik toch moeten vinden of niet?

Maar dat ga ik even proberen!
markvt schreef op dinsdag 31 maart 2015 @ 11:12:
bla.less:
code:
1
2
@import "icons.less";
@import "Style.less";


Importeer je een .less bestand of een .css?
CSS bestanden! Een bepaalde vendor levert geen LESS bestanden, maar de CSS bestanden importeert hij niet daadwerkelijk.

Acties:
  • 0 Henk 'm!

  • markvt
  • Registratie: Maart 2001
  • Laatst online: 16:20

markvt

Peppi Cola

Dan gewoon de .css bestanden hernoemen naar .less ;)

van-tilburg.info -=- meka (sega emulator) - Proud MEDION fanclub member - KOPPIG VOLHOUDEN !


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Let daarbij dan wel op dat je niet @import (inline) "<file>" zou moeten gebruiken, maar @import (less) "<file>".

Die eerste zal namelijk de content v/h bestand letterlijk zonder enige aanpassing dan ook in je file opnemen; relatieve URLs in het geimporteerde CSS bestand worden daarbij dus ook niet correct aangepast.

De variant die je zou moeten gebruiken zegt tegen de compiler dat het CSS bestand als LESS geinterpreteerd moet worden, waardoor zaken zoals het herschrijven van relatieve URLs ook werken zoals verwacht. Voor 99.99% van alle CSS zal dat gewoon goed gaan, aangezien LESS syntax een superset is van CSS. Die paar waar het niet goed gaat betreft het vaak 'browser hacks' die je eigenlijk niet zou moeten gebruiken, of malformed CSS. (De LESS compiler implementeert het error recovery aspect van een CSS parser bewust niet.)
markvt schreef op dinsdag 31 maart 2015 @ 11:16:
Dan gewoon de .css bestanden hernoemen naar .less ;)
Nee.

@import (less) "<file>" gebruiken en die CSS bestanden gewoon lekker met rust laten.

[ Voor 3% gewijzigd door R4gnax op 31-03-2015 11:19 ]


Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 14-10 16:42
markvt schreef op dinsdag 31 maart 2015 @ 11:16:
Dan gewoon de .css bestanden hernoemen naar .less ;)
Dat is juist niet handig als je iets als Bower als package manager gebruikt.
R4gnax schreef op dinsdag 31 maart 2015 @ 11:18:
[...]


Let daarbij dan wel op dat je niet @import (inline) "<file>" zou moeten gebruiken, maar @import (less) "<file>".

Die eerste zal namelijk de content v/h bestand letterlijk zonder enige aanpassing dan ook in je file opnemen; relatieve URLs in het geimporteerde CSS bestand worden daarbij dus ook niet correct aangepast.

De variant die je zou moeten gebruiken zegt tegen de compiler dat het CSS bestand als LESS geinterpreteerd moet worden, waardoor zaken zoals het herschrijven van relatieve URLs ook werken zoals verwacht. Voor 99.99% van alle CSS zal dat gewoon goed gaan, aangezien LESS syntax een superset is van CSS. Die paar waar het niet goed gaat betreft het vaak 'browser hacks' die je eigenlijk niet zou moeten gebruiken, of malformed CSS. (De LESS compiler implementeert het error recovery aspect van een CSS parser bewust niet.)
Oké nou ik heb nu inline gebruikt en dat werkt in ieder geval. Sowieso moet ik nog het een en ander instellen, ook met relatieve URL's inderdaad. Ik ben al heel blij dat ik nu maar één CSS en één JS bestandje heb. Zeker op websites met https scheelt dat nogal, gezien je anders veel meer requests doet.

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Als je (inline) ipv (less) gebruikt gaat het nat op het moment dat je een relatief pad gebruikt, en de css file staat in een folder dan je less file.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Grijze Vos schreef op dinsdag 31 maart 2015 @ 13:30:
Als je (inline) ipv (less) gebruikt gaat het nat op het moment dat je een relatief pad gebruikt, en de css file staat in een folder dan je less file.
Da's inderdaad wat ik al zei. ;)

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 14-10 16:42
Dat klopt, maar om dat nu voor te zijn, heb ik de volgende directory structuur:

assets
assets/css
assets/less
assets/vendor/less

Eigenlijk zou less in iets van src/ of resources/ moeten staan, maar dit werkt ook prima.
Pagina: 1