Arbeider med LESS og Chrome DevTools

Dette er en komplett opplæring om bruk av MINDRE med Chrome DevTools. Hvis du har brukt Sass med Chrome DevTools, vil du sannsynligvis allerede være kjent med konseptene som er introdusert her.

Den korte versjonen

  • MINDRE har nylig lagt til støtte for Source Maps, så dette er nytt og spennende!
  • DevTools kartlegging betyr at du kan se LESS stiler for alle dine relevante CSS.
  • Rediger MINDRE kildefiler i DevTools, og lagre dem på disk.
  • Adopsjon av kildekart er bedre med Sass, CoffeeScript, UglifyJS2 og mer.

Introduksjon

Ikke for lenge siden har Chrome DevTools lagt til en rekke IDE-lignende funksjoner (og fortsetter å gjøre det), hvorav en er evnen til å forstå kartleggingen mellom en kompilert fil og tilhørende kildefil. Dette er gjort mulig takket være Source Maps.


Hva denne opplæringen vil dekke

  • Slik genererer du kildekart fra mindre filer.
  • Feilsøking MINDRE kode gjennom DevTools.
  • Authoring LESS kode i DevTools og ser endringer umiddelbart via Workspaces og Grunt.

Alt nevnt her er tilgjengelig i Chrome Canary.


Konfigurere mindre for kildekart

Første ting er først, installer den siste versjonen (1.5.1 på tidspunktet for denne skrivingen) av LESS gjennom NPM (Source Maps ankom i 1.5.0):

$ npm installere -g mindre $ lessc -v lessc 1.5.1 (MINDRE kompilator) [JavaScript]

På dette punktet kan du kjøre LESTE kompilatoren i terminalen din ved hjelp av lessc kommando.


Opprett en ny MINDRE fil. For demonstrasjonsformål blir den kort og enkel.

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

Hvis du vil slå den MINDRE filen til en CSS-fil, er det et enkelt tilfelle av å kjøre:

lessc header.less header.css

Vi trenger nå en kilde kartfil. Lag det med -source-kartet flagg.

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

Ved å bruke LESS-koden vist ovenfor, kjører denne kommandoen en kilde kartfil med følgende innhold:

 "Versjon" 3, "fil": "header.css", "kilder": [ "header.less"], "navn": [], "avbildninger": "AAEQ; EACP, CAAA"

Bruke DevTools til å kartlegge til mindre kildefiler

I en verden uten Kildekart, DevTools ville vise stiler som stammer fra den sammensatte CSS. Linje nummerering ville ikke være nyttig på grunn av en feilmatch mellom kompilert CSS og kilde CSS. Med Kildekart, når du inspiserer en DOM-node på siden, vil DevTools automatisk vise stilene som kommer fra MINDRE kildefilen.

Vise en nettside som refererer til den tidligere nevnte header.css er nå inspiserbar på en mer meningsfylt måte.


Mens du holder Kommando (Styre på Windows), klikk på en hvilken som helst egenskap, verdi eller velg for å hoppe til linjen med kode i den tilsvarende LESS-kildefilen i kilder panel.


Authoring Workflow Med DevTools & LESS

Vise LESS kode i DevTools er absolutt nyttig, men integrering av en forfatter-arbeidsflyt kan øke hastigheten på iterasjonssyklusen. Det neste trinnet er å fortelle DevTools hvordan ressursene på en nettside kartlegger filer på et filsystem. Skriv inn: Arbeidsområder.

Merk: Arbeidsområder passer for mange prosjekter, ikke bare de som bruker CSS preprosessorer.

arbeidsområder

Du er kanskje allerede kjent med kilder panel fra et redigeringsperspektiv. Den generelle ideen er at du har en filnavigator i sidefeltet hvor hver fil vanligvis er et stilark, et skript eller en HTML-ressurs som websiden har lastet inn.


Ved å klikke på en ressurs vises innholdet i hovedpanelet. Du kan merke likheten dette har med ressurser panel, men det er minst en stor forskjell: kilder panelet inneholder en live editor. Endringer du gjør til stilark blir umiddelbart brukt på siden, og endringer du gjør til skript, injiseres tilbake til V8-motoren og evalueres umiddelbart. Ikke bare fungerer dette for fjernstyrte filer, men også for lokale med den ekstra fordelen av å vedvare endringene i en fil.

Merk: For å gjøre bruk av arbeidsområder, er følgende trinn bare nødvendig én gang per prosjekt.

Trinn 1.

Åpne en lokal nettside og legg til tilhørende mappe på filsystemet ditt til arbeidsområdet ved høyreklikke i kilder panel sidebjelke og velge Legg til mappe i arbeidsområdet.


Steg 2.

Tillat DevTools tilgang til mappen du nettopp har lagt til.


Trinn 3.

Din nylig lagt til mappe vil vises i sidelinjen navigasjonen.


Høyreklikk på en fil i en nettverksbasert mappe i kilder panelet (sørg for at det har en tydelig kartlegging til en fil på filsystemet) og velg Kart til File System Resource.


Trinn 4.

Det første forslaget fra DevTools er det riktige. Det har lagt merke til at filen på filsystemet mitt (/ Brukere / ... /bootstrap.css) har samme navn som en nettverksressursfil (http: // localhost / ... /bootstrap.css). Bekreft kartleggingen ved å velge riktig ressurs.


DevTools forstår nå kartlegging mellom filsystemressurser og nettverksressurser. Når du Kommando / Ctrl-klikk en velger fra Styles panel og slutt i kilder panelet, blir du nå vist din faktiske MINDRE kildefil. Du kan redigere en fil i kilder panelet og de endringene vil vedvare til disk når du Kommando / Ctrl-S.

Vi har kommet helt på denne måten, så la oss fullføre denne arbeidsflyten ved å bruke en Grunt-klokkeoppgave for å se etter endringer som er gjort i de MINDRE filene og deretter automatisk kompilere vårt CSS og lage en tilsvarende kildekartfil.

Bruke Grunt til å se og kompilere MINDRE

Med Workspaces satt opp, konfigurer Grunt (eller et annet verktøy etter eget valg) for å se etter endringer i LESS-kildefiler og kompilere en ny CSS-fil (med en kildekart). DevTools vil hente denne endringen automatisk og bruke noen nye stiler til siden.

Merk: Aktiver Auto-reload generert CSS flagg i innstillinger panel for å bruke denne arbeidsflyten.


Her er en oversikt over de automatiserte trinnene som vil oppstå:

  1. Du lagrer en endring til en MINDRE fil via DevTools.
  2. En klokkeoppgave overvåker MINDER filer for endringer og kjører så en MINDRE oppgave.
  3. Den MINDRE oppgaven kompilerer en ny CSS-fil pluss en Kildekart-fil.
  4. DevTools injiserer den nye CSS-filen på den nåværende siden uten en sideoppdatering.

Her er en forenklet Gruntfile:

module.exports = funksjon (grunt) 'bruk streng'; . Kreve ( 'matchdep') filterDev ( 'grunt - (CLI)!') Foreach (grunt.loadNpmTasks). grunt.initConfig (mindre: dev: options: sourceMap: true, sourceMapFilename: 'bootstrap.map', filer: 'mindre / bootstrap.css': 'mindre / bootstrap.less', se : alle: filer: ['mindre / ** / *. mindre'], oppgaver: ['mindre'],); grunt.registerTask ('standard', ['mindre', 'watch']); ;

Merk: Kodestykket ovenfor kommer fra demo-depotet.

Etter en npm installasjon, løping grynte i terminalen din bør du vise en klokkeoppgave som kjører.


DevTools har allerede skrive tilgang til utviklingsmappen din (gjennom Workspaces). Kommando / Ctrl-S Dine endringer i kilder panel for å ha DevTools overskrive kilden MINDRE filen med den nye endringen, kompilerer Grunt en ny CSS-fil som DevTools trekker inn og gjelder for siden.


Konklusjon

  • Under utvikling og feilsøking vil det nesten alltid være mer nyttig å se på kildefilen din (i stedet for den kompilerte filen).
  • For DevTools å forstå kildefilmappings, må den være kompatibel med Source Map v3-forslaget som er opp til kompileringsverktøyet for å implementere.
  • Verktøy som vedtar kildekart forbedrer seg. Vi har Sass, Kompass, LESS, autoprefixer, UglifyJS2, CoffeeScript og mer. Det er grynt-contrib- * Oppgaver for de fleste av disse verktøyene (Sass, Kompass, MINDRE, autoprefixr, UglifyJS2, CoffeeScript) som passer godt sammen med en arbeidsbelastnings arbeidsflyt.
  • Visning MINDRE filer vil fungere ut av boksen med DevTools. For å redigere filer, prøv Workspaces som gir deg muligheten til å vedvare endringer på disken.

Videre lesning

Kildekart

  • En introduksjon til kildekart på nettet+.

MINDRE

  • Problemet som gjorde dette alt mulig, less.js # 1050-tillat å opprette et kildeskart.
  • Bruke LESS Source Maps.

Chrome DevTools

  • Offisiell dokumentasjon om arbeid med CSS Preprocessors.
  • Utvikle med Sass og Chrome DevTools.

Liker du hva du har lært? Finn ut mer om Chrome DevTools!