Indholdsfortegnelse
Installation og etablering af Grynte Det er noget ganske enkelt at gøre, men når vi først har alle værktøjerne og kender nogle af de grundlæggende kommandoer, spekulerer vi ofte over, hvad kan vi gøre nu? Det næste trin er meget enkelt, det er tid til at begynde at bygge opgaver.Ideen bag en opgave er, at det er noget, der kan løse hyppige problemer eller aktiviteter, som vi altid udfører i løbet af vores arbejdsdag eller applikationsudvikling, hvor vi, hvis vi er gentagne i naturen, kan indstille parametre til disse opgaver, og dermed kan de altid fungere uden behov for at skulle lave dem fra bunden.
KravDenne vejledning anbefaler, at du kender de grundlæggende principper for JavaScript fordi vi vil bruge mange ting fra dette sprog. Et andet vigtigt krav er, at vi skal have installeret og konfigureret Grynte i vores system eller sandkasse betyder det, at vi skal have Node.js, din pakkeleder npm og selvfølgelig Grynte. Endelig skal vi have en tekstredigerer til at oprette indholdet af vores øvelser og tilstrækkelige tilladelser til at oprette filer og udføre grunt -kommandoen i konsollen frit.
En opgave er en aktivitet, der har en begyndelse, en udvikling og en ende, i Grynte en opgave er intet mere end en funktion i JavaScript som er indeholdt i filen Gruntfile.js og det når kommandoen udføres grynte i vores konsol kan vi få denne funktion til at blive udført, hvilket får dens indhold til at blive lanceret.
Opgaverne styres på en modulær måde, meget i stil med den grundlæggende forfatning af Node.jsHver gang vi definerer et nyt sæt opgaver, skal vi derfor tilføje de instruktioner, der angiver deres modularitet.
For at oprette en opgave har vi brug for en basiskode i vores fil gruntfile.js, denne kode kaldes kogeplade fordi det er gentaget, men vi kun bruger det én gang, lad os se, hvordan det ser ud:
module.exports = function (grynt) {// her er indholdet af vores opgaver};Når vi har placeret den kode i vores fil, har vi allerede grundlaget eller forfatningen til at kunne oprette vores opgaver. Når dette er gjort, skal vi udføre en opgave, der giver os mulighed for at skrive en besked efter konsol, til dette vil vi skrive følgende kode:
module.exports = function (grunt) {grunt.registerTask ('default', function () {console.log ('Hej, vi har smidt en besked i Grunt.');});};Det vi har gjort er meget let at forklare, først har vi taget objektet grynte som vi opretter med vores kode kogeplade, så i dette objekt har vi udført metoden registerTask hvad hjælper os med at fortælle Grynte at vi tilføjer en ny opgave, næste handling giver vi den et navn og derefter med en anonym funktion videregiver vi indholdet af vores opgave til den, hvilket i dette tilfælde er beskeden på konsollen.
Lad os se, hvordan dette eksempel ser ud, når opgaven udføres, for den i den mappe, hvor vi gemmer vores fil gruntfile.js vi vil udføre følgende kommando:
grynteHvor skulle konsollen så give os et resultat som følgende:
Lad os se i følgende kode, hvordan vi kan omskrive vores kode fra det foregående eksempel for at kunne opfylde det, vi har forklaret:
module.exports = function (grunt) {grunt.registerTask ('default', function () {grunt.log.writeln ('Denne meddelelse vises af Grunt -konsollen.');});};Hvordan vi ser, genbruger vi kun objektet grynte initial af filen, så bruger vi dens klasse log og endelig metoden skrive, resultatet er det samme som i det foregående eksempel kun med den forskel, at vi har brugt noget mere optimalt til vores formål. Lad os se i det følgende billede, hvordan alt blev vedligeholdt korrekt:
I den følgende kode skal vi gøre noget meget interessant, først og fremmest skal vi se, hvordan vi opretter opgaver, der ikke er vores standardproces, med dette vil vi allerede have nøglen til at have flere opgaver i den samme fil. Parameteren, der vil modtage vores opgave, vil simpelthen blive indstillet i den anonyme funktion, på denne måde kan vi fange og behandle den i brødteksten.
Lad os se koden for at generere denne opgave, som en øvelse kan vi placere koden efter vores standardopgave for at teste, hvad vi har forklaret:
grunt.registerTask ('sig hej', funktion (navn) {grunt.log.writeln ('Hej:' + navn + 'godmorgen i dag');});For nu at foretage konsolopkaldet af opgaven gør vi simpelthen følgende:
grynt sige hej: NavnHvordan vi kan se, placerer vi navnet på opgaven, og med et kolon adskiller vi for at videregive den nødvendige parameter, i dette tilfælde det navn, vi vil sende til opgaven, lad os se, hvordan det ser ud i vores konsol:
grunt.registerTask ('tilføj', funktion (værdi1, værdi2) {var sum = tal (værdi1) + tal (værdi2); grunt.log.writeln ('Resultatet af tilføjelse' + værdi1 + ' +' + værdi2 + ' er: '+ sum);});Lad os nu se, hvordan det ser ud, når vi kører gennem konsollen dette eksempel med opkaldet og svaret:
Det er muligt at bruge advarsler i vores opgaver, med dette kan vi validere lidt de parametre, der modtages fra brugeren, for eksempel er vores tidligere opgave en sum, men hvis vi sætter noget andet end et tal, vil vores operation mislykkes, så vi kan gør følgende: ved hjælp af metoden advare () Vi validerer, at begge parametre er tal, og hvis de ikke er det, lancerer vi en advarsel:
grunt.registerTask ('tilføj', funktion (værdi1, værdi2) {hvis (isNaN (tal (værdi1)))) {grunt.warn ('Den første værdi' + værdi1 + 'skal være et tal.');} hvis ( isNaN (tal (værdi2))) {grunt.warn ('Den anden værdi' + værdi2 + 'skal være et tal.');} Var sum = tal (værdi1) + tal (værdi2); grunt.log.writeln ( 'Resultatet af at tilføje' + værdi1 + ' +' + værdi2 + 'er:' + sum);});I vores omskrevne kode har vi valideret, at hvis resultatet af konverteringen til Nummer () af parametrene er ikke et nummer lancere metoden advare () eller advarsel, dette bryder tråden og viser meddelelsen, så vi kan undgå en defekt opgave. Lad os se, hvordan dette ser ud i vores konsol, når opgaven udføres:
Med dette har vi afsluttet denne vejledning, da vi ser oprettelsen af opgaver med Grynte Det er ikke meget komplekst, snarere dets logik på tidspunktet for at definere dem hjælper os med at lette forståelsen af brugen af værktøjet. Den sande kompleksitet er i definitionen af vores egen logik i øjeblikket for at vide, hvad vores opgave vil gøre, og hvordan vi kan gøre den så genanvendelig som muligt, da hvis den ikke er det, vil vi arbejde forgæves.