Grunt och gulp

44
Grunt AUTOMATISERAT ARBETSFLÖDE FÖR WEBBUTVECKLARE

Transcript of Grunt och gulp

Page 1: Grunt och gulp

GruntAUTOMATISERAT ARBETSFLÖDE FÖR WEBBUTVECKLARE

Page 2: Grunt och gulp

Vad gör Grunt och Gulp?

Allt du ber dem om… Automatisk kvalitetskontroll av din kod CSS-prefixhantering Minifiering Etc.

Page 3: Grunt och gulp

Teknikträdet

V8 Node (npm)

GruntPostCSS

AutoprefixerCSSNano (minifiering)

WatchAndra hjälpmoduler

Page 4: Grunt och gulp

Installera Node.js

Page 5: Grunt och gulp

Installera grunt-cli globalt

Page 6: Grunt och gulp

Initiera node med npm init

Page 7: Grunt och gulp

Detta skapar package.json

Page 8: Grunt och gulp

Installera grunt lokalt

Page 9: Grunt och gulp

Grunt hamnar i node-modules

Se till att denna katalog inte tas med av git

Page 10: Grunt och gulp

Node hanterar sina egna beroenden

Page 11: Grunt och gulp

Skapa en Gruntfile.js

Page 12: Grunt och gulp

Parametrar

Page 13: Grunt och gulp

Varningar

Page 14: Grunt och gulp

Testkör

Page 15: Grunt och gulp

Chaining tasks

Page 16: Grunt och gulp

Default task

Page 17: Grunt och gulp

Grunt --help

Page 18: Grunt och gulp

Autoprefixer

https://github.com/postcss/autoprefixer Hantera alla nödvändiga CSS-prefix Tar bort onödiga prefix

Page 19: Grunt och gulp

Installation

Page 20: Grunt och gulp

Kod

Page 21: Grunt och gulp

Gruntfile.jsNästan direkt från manualen.

Page 22: Grunt och gulp

Kör Grunt

Page 23: Grunt och gulp

Ta bort onödiga prefix

Page 24: Grunt och gulp

Kontrollera elevernas arbeten med en diff

Page 25: Grunt och gulp

Skriv inte över originalet

Page 26: Grunt och gulp

Lite snyggare lösning

Page 27: Grunt och gulp

Kör kontinuerlig med Grunt-watch

Page 28: Grunt och gulp

Gruntfile.js

Page 29: Grunt och gulp

Lägg på minifiering

Page 30: Grunt och gulp

GulpETT ALTERNATIV TILL GRUNT

Page 31: Grunt och gulp

Gulps fördelar

Buffer files och streams i stället för tasks Grunt öppnar en fil – ändrar den – sparar

Gulps förebild: Pipe + filter i *nix Locate ”*.php” | grep ”mysystem” | awk <####> Du känner också igen dig från JQuery

Snabbare Mindre konfigurering

Page 32: Grunt och gulp

Grunts fördelar

Mer mogen produktStörre community

Större mängd artiklar, böcker, etcStörre mängd modulerFler som kan hjälpa, exempelvis på StackOverflow

”Good enough”

Page 33: Grunt och gulp

Autoprefixer i Gulp

Page 34: Grunt och gulp

(Vad är en sourcemap?)

Koppling mellan den färdiga CSS-filen och en CSS Preprocessor (SASS, Less, SCSS)

Koppling mellan originalfilen och det transpilerade resultatet CoffeScript transpilering JavaScript

Page 35: Grunt och gulp

Installera gulp

[I en ny katalog]npm initnpm install –g gulp eslintnpm install --save-dev gulp gulp-util gulp-eslint

Page 36: Grunt och gulp

Gulps huvudfunktioner

Definiera task medgulp.task(’name’, [ ’array’, ’of’, ’names’ ], function() { // Gör något});

Starta med gulp.src()gulp.src(globs, [,options])

Skicka vidare med gulp.pipe(fn) Spara med gulp.dest(’path’) Bevaka med gulp.watch(glob [,opts, callback])

Page 37: Grunt och gulp

ESLintKONTROLL AV KODKVALITET I ECMASCRIPT

Page 38: Grunt och gulp

Lintning i JavaScript JSLint av Douglas Crockford

Pionjären på området ”The good parts” Hans personliga smak färgade allt

JSHint Fork från JSHint Fler preferenser

ESLint Flexiblare, kraftfullare Modulär ES 6

Page 39: Grunt och gulp

ESLint och Node

Skriven för Node! Stand-alone Modul

Grunt Gulp Etc

Mängder av olika kodstander att ladda ner

Page 40: Grunt och gulp

Skapa .eslintrc

Grundläggande reglereslint --initStrular på Windows

Page 41: Grunt och gulp

.eslintrc

Page 42: Grunt och gulp

gulpfile.js

Page 43: Grunt och gulp

PhpCodeSnifferLINTNING FÖR PHP

Page 44: Grunt och gulp

VagrantFLYTTBARA VIRTUELLA MASKINER