Arbetar med MINDER och Chrome DevTools

Detta är en komplett handledning för att använda LESS med Chrome DevTools. Om du har använt Sass med Chrome DevTools, kommer du med största sannolikhet redan att känna till de begrepp som introduceras här.

Den korta versionen

  • MINDRE har nyligen lagt till stöd för källkartor, så det här är nytt och spännande!
  • DevTools kartläggning innebär att du kan se LESS stilar för alla relevanta CSS.
  • Redigera LÄGRE källfiler inom DevTools och spara dem på disken.
  • Källa Map adoption förbättras med Sass, CoffeeScript, UglifyJS2 och mer.

Introduktion

Inte för länge sedan har Chrome DevTools lagt till ett antal IDE-liknande funktioner (och fortsätter att göra det), varav en är förmågan att förstå mappningen mellan en kompilerad fil och motsvarande källfil. Detta är möjligt tack vare källkartor.


Vad denna handledning kommer att täcka

  • Så här genererar du källkartor från LESS-filer.
  • Debugging LESS-kod via DevTools.
  • Författar LESS-kod i DevTools och ser ändringar direkt via Workspaces och Grunt.

Allt som nämns här är tillgängligt i Chrome Canary.


Konfigurera mindre för källkartor

Först och främst, installera den senaste versionen (1.5.1 vid tidpunkten för denna skrivande) version av LESS via NPM (Source Maps kom till 1.5.0):

$ npm installera -g mindre $ lessc -v lessc 1.5.1 (MINDER kompilator) [JavaScript]

Vid denna tidpunkt kan du köra MINDER kompilatorn i din terminal med hjälp av lessc kommando.


Skapa en ny MINDRE fil. För demonstrationsändamål kommer det att hållas kort och enkelt.

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

Om du vill göra den mindre filen till en CSS-fil är det enkelt att köra:

lessc header.less header.css

Vi behöver nu en källkarta-fil. Skapa det med -source-karta flagga.

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

Genom att använda den här LESS-koden visas det här kommandot med en källkartafil med följande innehåll:

 "Version": 3, "fil": "header.css", "källor": [ "header.less"], "namn": [], "avbildningar": "AAEQ; EACP, cAAA"

Använda DevTools för att kartlägga till mindre källfiler

I en värld utan Källkort, DevTools skulle visa stilar som härrör från den sammanställda CSS. Linjanummering skulle inte vara användbar på grund av en felaktig matchning mellan sammanställd CSS och källkoden CSS. Med Källkartor, när du inspekterar en DOM-nod på sidan, visar DevTools automatiskt de stilar som härrör från den LÄSTA källfilen.

Visa en webbsida som refererar till den tidigare nämnda header.css är nu inspekterbar på ett mer meningsfullt sätt.


Medan du håller Kommando (Kontrollera på Windows) klickar du på någon egenskap, värde eller väljare för att hoppa till koden i den motsvarande LESS-källfilen i källor panel.


Författande arbetsflöde med DevTools & LESS

Visning av MINDRE koden i DevTools är verkligen användbar, men integrering av ett authoring-arbetsflöde kan påskynda din iterationscykel. Nästa steg är att berätta för DevTools hur resurserna på en webbsida kartlägger till filer på ett filsystem. Ange: Arbetsytor.

Obs! Arbetsytor är lämpliga för många projekt, inte bara de som använder CSS preprocessorer.

arbetsytor

Du kanske redan är bekant med källor panel från ett redigeringsperspektiv. Den allmänna tanken är att du har en filnavigator i sidofältet där varje fil typiskt är ett stilark, ett skript eller en HTML-resurs som webbsidan har laddat.


Om du klickar på en resurs visas innehållet i huvudpanelen. Du kanske märker likheten med detta Medel panelen, men det finns åtminstone en stor skillnad: källor panelen innehåller en levande redaktör. Ändringar du gör till stylesheets tillämpas direkt på sidan och ändringar som görs till skript sprutas in i V8-motorn och utvärderas omedelbart. Det här fungerar inte bara för fjärrstyrda filer, utan också för lokala enheter med den extra fördelen att du behåller dina ändringar i en fil.

Obs! För att använda Workspaces krävs endast följande steg en gång per projekt.

Steg 1.

Öppna en lokal webbsida och lägg till motsvarande mapp på ditt filsystem till arbetsytan av högerklicka i källor panelens sidofält och välja Lägg till mapp till arbetsyta.


Steg 2.

Tillåt DevTools åtkomst till den mapp du just har lagt till.


Steg 3.

Din nyligen tillagda mapp visas i navigeringsnavigering.


Högerklicka på en fil i en nätverksansvarig mapp i källor panelen (se till att den har en uppenbar mappning till en fil i ditt filsystem) och välj Karta till File System Resource.


Steg 4.

Det första förslaget från DevTools är det rätta. Det har märkt att filen i mitt filsystem (/ Användare / ... /bootstrap.css) har samma namn som en nätverksresursfil (http: // localhost / ... / bootstrap.css). Verifiera mappningen genom att välja rätt resurs.


DevTools förstår nu kartläggningen mellan filsystemresurser och nätverksresurser. När du Kommando / Control-klicka en väljare från Styles panel och sluta i källor panelen visas nu din faktiska LÄSTA källfil. Du kan redigera en fil i källor panelen och dessa ändringar kommer att fortsätta att disk när du Kommando / Control-S.

Vi har kommit allihopa, så låt oss slutföra detta arbetsflöde genom att använda en Grunt klockuppgift för att titta på ändringar som gjorts i de MINDERA filerna och sedan automatiskt sammanställa vår CSS och skapa en motsvarande Källkortsfil.

Använda Grunt att titta på och kompilera mindre

Med Workspaces konfigureras, konfigurerar du Grunt (eller ett annat verktyg som du väljer) för att titta på ändringar i LESS-källfiler och kompilera en ny CSS-fil (med en källkarta). DevTools hämtar automatiskt denna ändring och tillämpar nya stilar på sidan.

Obs! Aktivera Auto-reload genererad CSS flagga i inställningar panel för att använda detta arbetsflöde.


Här är en översikt över de automatiska stegen som kommer att inträffa:

  1. Du sparar en ändring till en MINDRE fil via DevTools.
  2. En klockuppgift övervakar MINDER filer för ändringar och kör sedan en MINDRE uppgift.
  3. Den MINDRE uppgiften sammanställer en ny CSS-fil plus en källkarta-fil.
  4. DevTools injicerar den nya CSS-filen på den aktuella sidan utan en siduppdatering.

Här är en förenklad Gruntfile:

module.exports = funktion (grunt) 'use strict'; . Kräver (matchdep) filterDev (grunt - (CLI)!) Foreach (grunt.loadNpmTasks). grunt.initConfig (mindre: dev: options: sourceMap: true, sourceMapFilename: 'bootstrap.map', filer: 'mindre / bootstrap.css': 'mindre / bootstrap.less' : alla: filer: ['mindre / ** / *. mindre'], uppgifter: ['mindre'],); grunt.registerTask ('default', ['mindre', 'watch']); ;

Obs! Kodstycket ovan kommer från demoförvaret.

Efter en npm installera, löpning grymta I din terminal bör det visas en klockuppgift som körs.


DevTools har redan skrivåtkomst till din utvecklingsmapp (genom Workspaces). Kommando / Control-S dina ändringar i källor panelen för att ha DevTools skriva över källan MINDRE filen med din nya ändring, kompilerar Grunt en ny CSS-fil som DevTools drar in och gäller för sidan.


Slutsats

  • Under utveckling och felsökning ser det nästan alltid som om du tittar på din källfil (snarare än den sammanställda filen).
  • För att DevTools ska kunna förstå källfilfiler måste den vara kompatibel med Source Map v3-förslaget som är upp till kompileringsverktyget för att implementera.
  • Verktyg som antar källkartor förbättras. Vi har Sass, Kompass, MINDER, autoprefixer, UglifyJS2, CoffeeScript och mer. Det finns grunt-bidragit * uppgifter för de flesta av dessa verktyg (Sass, Kompass, MINDRE, autoprefixr, UglifyJS2, CoffeeScript) som fäster snyggt i ett arbetsbelastningsflöde.
  • Visa MINDRE filer kommer att fungera i rutan med DevTools. För att faktiskt redigera filer, prova Workspaces som ger dig möjlighet att fortsätta ändringar till disken.

Vidare läsning

Källkartor

  • En introduktion till källkartor på nätet+.

MINDRE

  • Frågan som gjorde detta möjligt, less.js # 1050-tillåta att skapa en källkarta.
  • Använda kortare källkartor.

Chrome DevTools

  • Officiell dokumentation om att arbeta med CSS Preprocessors.
  • Utveckla med Sass och Chrome DevTools.

Gilla vad du har lärt dig? Läs mer om Chrome DevTools!