Koduleht » Toolkit » Ehitamise skriptide lahing Gulp Vs Grunt

    Ehitamise skriptide lahing Gulp Vs Grunt

    Ma olen juba kirjutanud, kuidas Gulpiga alustada ning kuidas Gruntiga alustada. Nad mõlemad automatiseerige meie ülesandeid, nad mõlemad kasutage sõlme, ja nad mõlemad nõuavad teid luua ülesandeid ja installida pluginaid mingisugune. Aga kas sa ei tea kahe või isegi parema erinevuse vahel?

    Käesolevas artiklis keskendun peamiselt sellele nende kahe projekti vahelised erinevused see võib aidata teil otsustada, milline neist kahest võib ennast paremini mõista. Ma kasutan mõnda koodi, mis võib olla tundmatu. Kui see on nii, siis soovitan lugeda läbi kahe varem avaldatud artikli, enne kui alustate.

    Veel Hongkiat.com

    • Kuidas alustada Gulpiga
    • Kuidas Gruntiga alustada

    Kiirus

    Peamine erinevus Gulp'i ja Grunt'i vahel on kuidas nad tegelevad oma automatiseerimisülesannetega sees. Gulp kasutab sõlme voogusid, samas kui Grunt kasutab temp-faile. Paneme selle lihtsalt inglise keelde?

    Oletame, et soovite oma projekti jaoks SASS-koodi kirjutada. Sa tahaksid oma SASS-koodi kompileerida ja siis siis selle kaevandada.

    Grunt tegeleb selle kasutamisega vahendajafailid mis on ketta I / O operatsioonid. Teie SASS-fail on kompileeritud ja seejärel kirjutatud ajutisele failile. Ajutist faili kasutab autoprefikser ja seejärel kirjutatakse lõpptoode sihtfaili.

    Gulp hoolitseb selle eest mällu. Teie lähtekood SASS-fail on kompileeritud, tulemus edastatakse autoprefiksile ilma faili kirjutamiseta ja sihtfail on seejärel välja kirjutatud.

    Võrreldes mäluoperatsioonidega on ketaste kirjutamine aeglane, mis tähendab seda Gulpil on suur kiiruse eelis (praeguseks). Kiiruste võrdlus tehti tech.tmw abil, mis näitab, et enamik ülesandeid on Gulpil vähemalt kaks korda kiirem. Kuigi see ei olnud äärmiselt teaduslik uurimus, on see tendents olemas ja ma olen näinud sama oma projektidega. Aga kui suur mõju on kiiruse erinevus?

    Erinevus sekundites

    Enamiku projektide puhul ei ole see oluline. Enamik projekte on väikesed. Kui loote WordPressi teema või midagi sarnast, on nende failide arv, millega töötada, mõistliku piiri piires. See ei ole oluline, kas teie stiililehed on koostatud 400 ms või 800 ms.

    Lisaks võib enamik projekte olla struktureeritud nii, et mõned kõige intensiivsemad küsimused oleksid kõrvale jäetud. Kui teil on 50 SASS-faili, siis võite need arendamise ajal sama kiiresti kokku leppida, kuid neid ei ole vaja automaatselt parandada või kaevandada. Sa ei pea kujutisi optimeerima iga kord, kui projekti salvestate jne.

    Isegi siis, kui tõesti vajate suuri relvi, sest te surute oma tööd lavastusserverisse või kui te ajakohastate hoidlat, siis kas 5 sekundi või 9 sekundi pikkune ehitustööaeg teeb suurel määral erinevust?

    Kõigepealt lisab Grunt eelseisva 0,5 väljalaske, mis kiirendab asju märkimisväärselt, muutes selle keeruliseks punktiks..

    Kogukond

    Grunt on olnud Gulpist palju pikem, nii et tal on märkimisväärne kasutaja. Praegu saab Grunt keskmiselt umbes 37 000 allalaadimist päevas, Gulp saab veidi rohkem kui poole võrra, 23 000 märgi lähedal. Sellest olenemata on Gulp olnud vaid poolteist aastat tagasi, muutes selle arvu lugupidavaks.

    Praegu on Gruntil rohkem kui 4000 pluginat, samas kui Gulpil on üle 1200 plugina. Vastavalt Google'i trendidele otsivad rohkem inimesi Gruntiga seotud asju, seal on rohkem foorumeid, mis sellega tegelevad ja üldisemalt rohkem kogukonna toetust.

    Muidugi on Gulp üles ja tulemas, mis tähendab seda tõenäoliselt ühtlaselt. Kuid see on takistus mõnedele arendajatele, eriti neile, kes töötavad Gruntil põhinevate projektidega.

    Tahaksin juhtida tähelepanu sellele, et mõlema kogukond on väga kena. Niipalju kui mina võin öelda, et iga kogukonna liidrite suhe on hämmastav ja peaks olema eeskujuks kõigile. Gulpi looja on tegelikult aidanud kiiruse testi võrdleval kirjutajal parandada ajastuse täpsust, mis viib aja erinevuste vähenemiseni. Seda ma nimetan härrasmeeseks!

    Kood Vs seadistamine

    Ilmselt on see paljude jaoks kallak, kuid ausalt öeldes ei näe ma seda küsimust isiklikult.

    See argument on selline: Gulp on hea näide Kood üle konfiguratsiooni võib olla hea, kui konfiguratsioon muutub veidi segadusse. Teised inimesed ütlevad, et kuigi see on tõsi ja Gulp on lihtsam loe, see on raskem kirjutage sest torustik võib olla natuke segane.

    Enne kui ma kaalun, on siin sama näide kõigepealt Gruntis, siis Gulpis:

     grunt.initConfig (sass: dist: failid: [src: dev / *. scss, dest: '.tmp / styles', laiendage: true, ext: '.css'], autoprefixer : dist: failid: [expand: true, cwd: .tmp / styles ", src: ', * / *. css', dest: 'css / styles'], vaata:  stiilid: files: ['dev / *. scss'], ülesanded: ['sass: dist', 'autoprefixer: dist']); grunt.registerTask ('vaikimisi', ['stiilid', 'vaata')); 
     gulp.task ('sass', funktsioon () gulp.src ('dev / *. scss' .pipe (sass ()) .pipe (autoprefixer ()) .pipe (gulp.dest ('css / styles' ));); gulp.task ('default', funktsioon () gulp.run ('sass'); gulp.watch ('dev / *. scss, funktsioon () gulp.run (' sass ');); ); 

    Minu arvamus on, et see ei ole tegelikult oluline. Muidugi, kui oled harjunud esimesel viisil, peate võib-olla veetma aega, et selgitada välja teine, kuid see on tõsi vastupidi. Nii et minu jaoks “see on segane” argument on täiesti kehtetu. Kõik uus meetod, mida õpid, alguses segadust tekitab, aga kui te võtate aega, et mõista iga loogika loogikat, muutub see kõik välja.

    See tähendab, et ma isiklikult eelistan Gulpi API, sest see on puhasja see peegeldab seda, kuidas ma arvan lähemalt kui Grunt. See on muidugi täiesti subjektiivne ja pole Gruntiga üldse probleem, see on lihtsalt minu isiklik eelistus.

    Kuidas valida

    Ma ei usu, et oleks mingit küsimust selle kohta, et nii Grunt kui ka Gulp on suurepärased vahendid ja aidanud inimestel aastate jooksul lugematuid aega säästa. Grunt on praegu veidi aeglasem, kuid omab palju suuremat kogukonda. Gulp on kiirem, sellel on puhtam API, kuid puudub kasutaja baas.

    Ma arvan, et otsus langeb lõpuks järjepidevus, saadaval olevad pluginad ja eelistus.

    (1) Kui olete Grunt / Gulpi juba mõnda aega kasutanud ja sa oled sellega rahul, pole mingit põhjust minna.

    (2) Kui teie projekt nõuab pluginaid mida ei paku Gulp ja te pole valmis ise kirjutama, peate minema Gruntiga.

    (3) Kui ülaltoodud kaks kaalutlust ei puuduta teid, siis tuleb see eelistada. Ma soovitan proovida ja näha millest üks sinuga kokku puutub.

    Nagu ma ütlesin, otsustasin kasutada Gulpi, sest mulle meeldib selle puhtam API parem, kuid ma olen täiesti mugav Gruntiga, kui projekt seda nõuab. Mida sa peaksid mitte Kas lugeda, et hr Know-it-kõik ütlesid, et Gulp on parem ja aktsepteerib seda. Kuigi on erinevusi, puudub selge võitja ja mõlemad projektid võivad eksisteerida ja hakkavad eksisteerima. Proovige neid ja tehke oma meeles.

    Märkus: võiksite kaaluda ka selliste kasutajate arvamusi nagu Keith Cirkel (Javascript konsultant), kes soovitab teil kasutada ei. Tema huvitavaks, miks me peaksime Grunt & Gulp'i artikli kasutamise lõpetama, soovitab ta kasutada npm.

    Lisalugemist

    Selle teema kohta on palju teisi suurepäraseid artikleid. Sooviksin edasiseks lugemiseks soovitada mõnda järgmist. see ei ole kunagi valus lugeda, mida teised ütlevad!

    • Grunt vs Gulp - numbritest kaugemale (erilised tänud selgete näidete eest)
    • Gulp, Grunt, mis iganes
    • Valige: Grunt, Gulp või npm?
    • Kiiruskontroll Gulp ja Grunt
    • Miks peaksime Grunt & Gulp'i kasutamise lõpetama
    • Loo sõdu (navigeerimiseks kasutage nooli)
    • Gruntit pole vaja, võta värsket õhku