Werken met LESS en de Chrome DevTools

Dit is een complete tutorial over het gebruik van LESS met Chrome's DevTools. Als je Sass hebt gebruikt met de DevTools van Chrome, ben je waarschijnlijk al bekend met de concepten die hier zijn geïntroduceerd.

De korte versie

  • LESS heeft zeer recent ondersteuning voor Source Maps toegevoegd, dus dit is nieuw en opwindend!
  • DevTools-toewijzing betekent dat u MINDER stijlen voor al uw relevante CSS kunt bekijken.
  • Bewerk LESS-bronbestanden in DevTools en laat ze opslaan op schijf.
  • De implementatie van Source Map verbetert met Sass, CoffeeScript, UglifyJS2 en meer.

Invoering

Nog niet zo lang geleden hebben de Chrome DevTools een aantal IDE-achtige functies toegevoegd (en blijven dit doen), waaronder de mogelijkheid om de toewijzing tussen een samengesteld bestand en het bijbehorende bronbestand te begrijpen. Dit wordt mogelijk gemaakt dankzij Source Maps.


Wat deze les zal behandelen

  • Hoe bronkaarten te genereren uit LESS-bestanden.
  • Debuggen van LESS-code via de DevTools.
  • LESS-code in de DevTools maken en wijzigingen direct zien via Workspaces en Grunt.

Alles wat hier wordt genoemd, is beschikbaar in Chrome Canary.


LESS configureren voor bronkaarten

Eerste ding eerst, installeer de nieuwste (1.5.1 op het moment van dit schrijven) versie van LESS via NPM (Source Maps aangekomen in 1.5.0):

$ npm installatie -g minder $ lessc -v minderc 1.5.1 (LESS Compiler) [JavaScript]

Op dit punt kunt u de LESS-compiler in uw terminal gebruiken met behulp van de lessc commando.


Maak een nieuw MINDER bestand. Voor demonstratiedoeleinden zal het kort en eenvoudig worden gehouden.

@color: # 4D926F; #header color: @color; 

Om het LESS-bestand in een CSS-bestand om te zetten, is het een eenvoudig geval van uitvoeren:

lessc header.less header.css

We hebben nu een Source Map-bestand nodig. Maak het met de -source-map vlag.

lessc - resource-map = header.map header.less header.css

Met de bovenstaande LESS-code produceert het uitvoeren van deze opdracht een Source Map-bestand met de volgende inhoud:

 "Versie": 3, "file": "header.css", "bronnen": [ "header.less"], "namen": [], "mappings": "AAEQ; EACP, Caaa"

DevTools gebruiken om te toewijzen aan LESS-bronbestanden

In een wereld zonder Bronkaarten, DevTools zou stijlen weergeven die afkomstig zijn van de gecompileerde CSS. Regelnummering zou niet nuttig zijn vanwege een mismatch tussen gecompileerde CSS en de bron-CSS. Met Bronkaarten, bij het inspecteren van een DOM-knooppunt op de pagina, toont DevTools automatisch de stijlen die afkomstig zijn van het LESS-bronbestand.

Een webpagina bekijken die verwijst naar de eerder genoemde header.css is nu op een meer betekenisvolle manier inspecteerbaar.


Tijdens het vasthouden Commando (Controle op Windows), klik op een eigenschap, waarde of selector om naar de regel met code in het corresponderende LESS-bronbestand binnen de bronnen paneel.


Authoring Workflow met DevTools & LESS

Het bekijken van LESS-code in de DevTools is zeker nuttig, maar het integreren van een authoringworkflow kan uw iteratiecyclus versnellen. De volgende stap is om DevTools te laten weten hoe de bronnen op een webpagina verwijzen naar bestanden in een bestandssysteem. Ga naar: werkruimten.

Opmerking: werkruimten zijn geschikt voor veel projecten, niet alleen voor degenen die CSS-preprocessors gebruiken.

workspaces

Misschien bent u al bekend met de bronnen paneel vanuit een bewerkingsperspectief. Het algemene idee is dat je een bestandsnavigator in de zijbalk hebt, waarbij elk bestand meestal een stijlblad, script of HTML-bron is die door de webpagina is geladen.


Als u op een resource klikt, wordt de inhoud in het hoofdvenster weergegeven. U ziet misschien de gelijkenis die dit heeft met de Middelen panel, maar er is minstens één groot verschil: de bronnen paneel bevat een live-editor. Wijzigingen die u in stylesheets aanbrengt, worden onmiddellijk op de pagina toegepast en wijzigingen die u aanbrengt in scripts worden terug in de V8-engine ingespoten en onmiddellijk geëvalueerd. Dit werkt niet alleen voor op afstand gehoste bestanden, maar ook voor lokale bestanden met het extra voordeel dat het uw wijzigingen in een bestand aanhoudt.

Opmerking: om gebruik te maken van werkruimten, zijn de volgende stappen slechts eenmaal per project vereist.

Stap 1.

Open een lokale webpagina en voeg de overeenkomstige map op uw bestandssysteem toe aan de werkruimte rechtermuisknop te klikken in de bronnen paneelzijbalk en selecteren Map toevoegen aan werkruimte.


Stap 2.

Geef DevTools toegang tot de map die u zojuist hebt toegevoegd.


Stap 3.

Uw nieuw toegevoegde map verschijnt in de zijbalknavigatie.


Klik met de rechtermuisknop op een bestand binnen een map met netwerkbronnen in de bronnen paneel (zorg ervoor dat het een duidelijke toewijzing aan een bestand op uw bestandssysteem heeft) en selecteer Map naar bestandssysteemresource.


Stap 4.

De eerste suggestie van DevTools is de juiste. Het heeft gemerkt dat het bestand op mijn bestandssysteem (/ Gebruikers / ... /bootstrap.css) heeft dezelfde naam als een netwerkresourcebestand (http: // localhost / ... /bootstrap.css). Controleer de toewijzing door de juiste resource te selecteren.


DevTools begrijpt nu de toewijzing tussen bestandssysteembronnen en netwerkbronnen. Wanneer je Command / Control-klik een selector uit de stijlen paneel en eindig in de bronnen paneel, wordt nu uw werkelijke LESS-bronbestand getoond. U kunt een bestand bewerken in de bronnen paneel en die veranderingen blijven op schijf als u Command / Ctrl-S.

We zijn helemaal hierheen gekomen, dus laten we deze workflow voltooien door een Grunt-kijktaak te gebruiken om te kijken naar wijzigingen die in de LESS-bestanden zijn aangebracht en vervolgens automatisch onze CSS te compileren en een bijbehorend Source Map-bestand te maken.

Grunt gebruiken om te kijken en minder te compileren

Configureer met de instellingen van Workspaces Grunt (of een ander hulpmiddel naar keuze) om wijzigingen in LESS-bronbestanden te bekijken en een nieuw CSS-bestand te compileren (met een bronkaart). DevTools neemt deze wijziging automatisch op en past nieuwe stijlen toe op de pagina.

Opmerking: schakel het Gegenereerde CSS automatisch herladen vlag in de instellingen paneel om deze workflow te gebruiken.


Hier volgt een overzicht van de geautomatiseerde stappen die zullen plaatsvinden:

  1. U slaat een wijziging op in een MINDER bestand via DevTools.
  2. Een wachttaak bewaakt LESS-bestanden voor wijzigingen en voert dan een LESS-taak uit.
  3. De LESS-taak compileert een nieuw CSS-bestand plus een bronmapbestand.
  4. DevTools injecteert het nieuwe CSS-bestand op de huidige pagina zonder een pagina te vernieuwen.

Hier is een vereenvoudigde Gruntfile:

module.exports = functie (grunt) 'gebruik strict'; . Require ( 'matchdep') filterDev ( 'grunt - (cli)!') ForEach (grunt.loadNpmTasks). grunt.initConfig (minder: dev: options: sourceMap: true, sourceMapFilename: 'bootstrap.map', bestanden: 'less / bootstrap.css': 'less / bootstrap.less', bekijk : all: files: ['less / ** / *. less'], tasks: ['less'],); grunt.registerTask ('standaard', ['minder', 'kijk']); ;

Opmerking: het bovenstaande codefragment komt uit de demo-repository.

Na een npm installeren, lopend knorren in uw terminal moet een kijktaak worden weergegeven.


DevTools heeft al schrijftoegang tot uw ontwikkelmap (via Workspaces). Command / Ctrl-S uw wijzigingen in de bronnen paneel om DevTools te laten overschrijven het bron MINDER bestand met je nieuwe wijziging, Grunt stelt een nieuw CSS-bestand samen dat DevTools inhaalt en toepast op de pagina.


Conclusie

  • Tijdens de ontwikkeling en het debuggen zal het bekijken van uw bronbestand (in plaats van het gecompileerde bestand) bijna altijd nuttiger voor u zijn.
  • Om DevTools inzicht te krijgen in de toewijzingen van bronbestanden, moet deze compatibel zijn met het voorstel voor de bronkaart v3, waarmee de compilatietool kan worden geïmplementeerd.
  • Hulpmiddelen die gebruikmaken van bronkaarten verbeteren. We hebben Sass, Compass, LESS, autoprefixer, UglifyJS2, CoffeeScript en meer. Er zijn grunt-contrib- * taken voor de meeste van deze tools (Sass, Compass, LESS, autoprefixr, UglifyJS2, CoffeeScript) die goed aansluiten bij een workflow met livereload.
  • Het bekijken van MINDER bestanden zal uit de doos werken met DevTools. Als u bestanden daadwerkelijk wilt bewerken, probeert u Workspaces, waarmee u wijzigingen op de schijf kunt behouden.

Verder lezen

Bronkaarten

  • Een inleiding tot bronkaarten op de netten+.

MINDER

  • Het probleem dat dit alles mogelijk maakte, less.js # 1050-staat het maken van een bronkaart toe.
  • LESS-bronkaarten gebruiken.

Chrome DevTools

  • Officiële documentatie over het werken met CSS Preprocessors.
  • Ontwikkelen met Sass en Chrome DevTools.

Vind je het leuk wat je hebt geleerd? Meer informatie over Chrome DevTools!