Ställa in Grunt för ditt nästa projekt

I det första inlägget i denna serie gav jag en snabb översikt över Grunt och i nästa post kommer jag att gå igenom de nödvändiga stegen om hur du använder Grunt kan förbättra dina WordPress-utvecklingsförmåga.

Specifikt talar vi djupt om de nödvändiga filerna som package.json och Gruntfile.js, men för nu ska vi skapa några exempelfiler så att du kan köra Grunt med ditt WordPress-tema eller pluginprojekt.

Skapa dina projektfiler

Innan du börjar kan det hjälpa till att granska innehållet som nämns i den första artikeln i den här serien.

När du är på gång, gå tillbaka till den här artikeln och vi kommer igång med att skapa våra projektfiler. Detta ger slutligen en översikt över hur det ser ut som att Grunt är konfigurerat för ett visst projekt.

I nästa artikel ska vi titta på hur man gör det specifikt för WordPress-arbetet, men vi kommer att fokusera på ett mer generiskt tillvägagångssätt för nu.

1. Skapa en package.json-fil

Det första vi ska göra är att skapa en package.json filen i projektets rot. Innehåll den nya filen, lägg till följande:

"namn": "projektnamn", "version": "1.0.0", "beskrivning": "fantastiskt projekt"

Det finns inget behov av att lägga till devDependencies objekt, eftersom det kommer att läggas till automatiskt när vi installerar Grunt-uppgifter via kommandoraden.

2. Installera uppgifter

För att installera Grunt-uppgifter måste du växla över till ditt valfria kommandoradsverktyg. Om du är på en Mac, skulle det vara Terminal eller iTerm. Om du är på en dator, skulle jag föreslå att du använder PowerShell.

Först navigera till ditt projekt rotmapp ("cd-utvecklings-mapp / projektmapp"). Nästa kommer vi att installera en uppgift för att kompilera LESS-filer. Vi kommer att installera den grunt-contrib-less uppgiften, skriv sedan in följande i din kommandorad och träffa Stiga på:

npm installera grunt-contrib-less - save-dev

Du kommer att börja se att en rad linjer skrivs ut som uppgiften och alla dess beroenden hämtas från npm. När det är klart bör du se något så här:


Installera grunt-bidragsfritt

Nu borde du kunna gå till din package.json fil och se grunt-contrib-mindre läggas till din 'devDependencies' föremål också. Du kommer också att lägga till versionsnumret bredvid namnet. Jag kunde prata om versionsnotering i ett helt annat inlägg, men för nu vet jag att tilde avser den version som vi för närvarande arbetar med.

Vid denna tidpunkt bör du se följande:

"namn": "projektnamn", "version": "1.0.0", "beskrivning": "Fantastiskt projekt", "devDependencies": "grunt-contrib-less": "~ 0.9.0"

Nästa upp, låt oss lägga till en uppgift för att titta på förändringar i vår '.mindre' filer. Vi ska använda Grunt-Contrib-Watch-uppgiften. Hoppa tillbaka till kommandoraden och slå Stiga på:

npm installera grunt-contrib-watch - save-dev


Installera grunt-contrib-klocka

Återigen bör du se lite utmatning på skärmen och när den är klar kommer den att läggas till din package.json fil. Det borde nu se ut så här:

"namn": "projektnamn", "version": "1.0.0", "beskrivning": "Fantastiskt projekt", "devDependencies": "grunt-contrib-less": "~ 0.9.0" "grunt-contrib-watch": "~ 0.5.3"

Förhoppningsvis kommer du nu att hänga på det och du kan använda samma process för att lägga till andra Grunt-uppgifter. Bara en påminnelse om att alltid lägga till '--Save-dev'.

Gruntfile.js

Nu när vi har ett par Grunt-uppgifter installerade, låt oss börja använda dem. Det första vi behöver göra är att skapa en Gruntfile.js filen i vårt projekts rotmapp. Det är här vi ska ange våra uppgifter och konfigurera dem.

För att göra detta lägger du till följande i filen:

module.exports = funktion (grunt)

uppgifter

Det första vi behöver göra är att ladda in våra uppgifter så att vi kan utföra dem. Du gör det genom att lägga till med loadNpmTasks funktion för varje uppgift. Vänligen lägg till följande inuti de krökta axlarna:

grunt.loadNpmTasks ( 'grunt-contrib-mindre');
grunt.loadNpmTasks ( 'grunt-contrib-watch');

Nästa sak som vi behöver göra är att konfigurera konfigurationen för våra installerade Grunt-uppgifter. Vi måste använda initConfig funktion så här:

grunt.initConfig (pkg: grunt.file.readJSON ('package.json');

Nu efter komma, lägger vi till vår konfiguration för varje uppgift vi installerade. Du hittar vanligtvis exempel på hur du konfigurerar varje uppgift i README.md filen i projektet på GitHub. Varje uppgift kommer att ha olika konfigurationsalternativ, så var noga med att kolla in dokumentationen först.

1. MINDRE Uppgift

Den första uppgiften vi ska konfigurera är grunt-contrib-mindre uppgift. Den här kommer att sammanställa vår .mindre filer till .css filer för oss. Du vill skapa en ny mapp för din .mindre filer och skapa en ny. Jag brukar skapa en css / mindre mapp och lägg alla mina .mindre filer där inne.

Gå vidare och lägg till en ny fil med namnet style.less och lägg till en kod i den som så:

en färg: blå; &: sväva färg: röd;

Nu, låt oss gå tillbaka till vårt Gruntfile.js fil och lägg till följande:

mindre:
alternativ:
sökvägar: 'css / less',
yuicompress: true
,
filer:
'style.css': 'css / mindre / style.less'

När du har sparat filen ska du kunna bläddra till kommandoraden och skriva in grunt mindre och slå Stiga på. Detta kommer att sparka upp den grunt uppgiften och kompilera vår .mindre fil och skapa en ny style.css filen i vårt projekt rotmapp.

2. Se uppgift

Nu när vi har en uppgift att sammanställa vår .mindre filer, låt oss lägga till en klockuppgift för den. Vem vill gå till kommandoraden och springa grunt mindre varje gång vi gör ändringar i en fil, rätt?

Efter vår tidigare konfiguration lägger du till ett kommatecken så här:

Kolla på:
mindre:
filer: 'css / mindre / *. mindre',
uppgifter: "mindre"

När du har sparat filen, vänd tillbaka till kommandoraden och skriv in grunt klocka. Detta bör se följande:


grunt klocka

Det betyder att Grunt klockan väntar på några ändringar i en av de filer du angav i din konfiguration. Gå till din style.less fil och gör en ändring som så:

en färg: blå; &: sväva färg: grön;

När du har sparat filen kommer klockuppgiften att sparka och kompilera din .mindre filer till din style.css fil. När det är klart kommer det att fortsätta att titta på dessa filer och redo för en annan förändring.


grunt klocka kompilera

Eftersom det är igång, gör allt du behöver göra nu gör en ändring i en fil, spara den och vänd sedan till webbläsaren för att se ändringarna.

Slutsats

Vi har nu allting för att använda Grunt med ditt nästa projekt. Det var en ganska enkel installation och jag är säker på att du kan se alla möjliga uppgifter du kan ha i ditt projekt. Senare i serien planerar jag att täcka mer avancerade funktioner med Grunt som anpassade uppgifter, nestad konfiguration och andra godisar.

Men först tar vi en titt på hur man införlivar detta med våra WordPress-projekt.

Medel

  • Grymta
  • npm
  • Grunt Contrib Watch-uppgift
  • iterm
  • grunt-contrib-mindre