Sukurti scenarijų mūšis Gulp Vs Grunt
Aš jau parašiau apie tai, kaip pradėti dirbti su „Gulp“, taip pat apie tai, kaip pradėti dirbti su „Grunt“. Jie abu automatizuoti mūsų užduotis, jie abu naudoti „Node“, ir jie abu reikalauja jums kurti užduotis ir įdiegti papildinius tam tikros rūšies. Bet ar jums įdomu, ar yra skirtumas tarp dviejų, ar netgi geresnių?
Šiame straipsnyje daugiausia dėmesio skirsiu šių dviejų projektų skirtumai tai gali padėti jums nuspręsti, kuris iš dviejų jums gali būti geresnis. Aš naudosiu tam tikrą kodą, kuris gali būti nepažįstamas. Jei taip, siūlome perskaityti du anksčiau paskelbtus straipsnius prieš pradėdami.
Daugiau apie „Hongkiat.com“
- Kaip pradėti su „Gulp“
- Kaip pradėti su Grunt
Greitis
Pagrindinis skirtumas tarp Gulp ir Grunt yra kaip jie sprendžia savo automatizavimo užduotis viduje. „Gulp“ naudoja mazgų srautus, o „Grunt“ naudoja temp failus. Įdėkime tai į paprastą anglų kalbą?
Tarkime, kad norėtumėte parašyti SASS kodą savo projektui. Jūs norėtumėte surinkti savo SASS kodą ir galbūt jį ištaisyti.
Grunt tai tvarko tarpiniai failai kurios yra disko I / O operacijos. Jūsų SASS failas yra sukompiliuotas ir įrašomas į laikiną failą. Laikinąjį failą naudoja autoprefiksuotojas, o galutinis produktas yra įrašomas į paskirties failą.
Gulp rūpinasi visa tai atmintyje. Jūsų šaltinio SASS failas yra sukompiliuotas, rezultatas perduodamas autoprefiksui be įrašymo į failą, o paskirties failas yra parašytas.
Lyginant su atminties operacijomis, diskų rašymas yra lėtas, o tai reiškia, kad „Gulp“ turi didelį greitį (dabar). Greičio palyginimas buvo atliktas tech.tmw, kuris rodo, kad dauguma užduočių yra bent du kartus greitesnės „Gulp“. Nors tai nebuvo labai mokslinis tyrimas, ten yra tendencija, ir aš tą patį matiau su savo projektais. Bet koks didelis poveikis yra greičio skirtumas?
Skirtumas sekundėmis
Daugumai projektų tai nėra svarbu. Dauguma projektų yra nedideli. Kai kuriate „WordPress“ temą ar kažką panašaus, failų, kuriuos reikia dirbti, skaičius yra pakankamai ribotas. Tai tikrai nesvarbu, ar jūsų stilių lentelės yra sudaromos 400 ms ar 800 ms.
Be to, dauguma projektų gali būti struktūrizuota taip, kad būtų galima išvengti kai kurių intensyviausių klausimų. Jei turite 50 SASS failų, tuos pačius greitai galite susieti juos kūrimo metu, todėl nereikės jų automatiškai perrašyti ar redaguoti. Jums nereikės optimizuoti vaizdų kiekvieną kartą, kai išsaugosite projektą ir pan.
Net jei jums iš tikrųjų reikia didelių ginklų, nes stumiate savo darbą į sustojimo serverį arba atnaujinate saugyklą, ar pastatytas 5 sekundžių ar 9 sekundžių laikas labai skiriasi?
Be to, Grunt pridės paramą vamzdynams artimiausioje 0,5 versijoje, kuri labai pagreitins dalykus, todėl šis klausimas bus ginčytinas.
Bendruomenė
„Grunt“ yra daug ilgiau nei „Gulp“, todėl turi didelę vartotojų bazę. Šiuo metu „Grunt“ vidutiniškai gauna apie 37 000 parsisiųsti per dieną. Be to, „Gulp“ jau buvo apie pusantrų metų, todėl šis skaičius yra gerbiamas.
Šiuo metu „Grunt“ turi daugiau kaip 4000 įskiepių, o „Gulp“ turi daugiau nei 1200 įskiepių. Pasak „Google“ tendencijų, daugiau žmonių ieško su Grunt susijusių dalykų, yra daugiau forumų, kurie su ja susiduria, ir apskritai daugiau bendruomenės paramos.
Žinoma, Gulp yra ir ateina, o tai reiškia greičiau. Tačiau tai yra kliūtis kai kuriems kūrėjams, ypač tiems, kurie dirba Grunt pagrįstus projektus.
Norėčiau pabrėžti, kad abiejų bendruomenių bendruomenės yra labai malonu. Kiek aš galiu pasakyti, kiekvienos bendruomenės lyderių santykiai yra nuostabūs ir turėtų būti pavyzdys visiems. Gulp kūrėjas iš tikrųjų padėjo greičio testo palyginimo rašytojui pagerinti laiko tikslumą, dėl kurio sumažėja laiko skirtumai. Štai ką aš vadinu ponai!
Kodas Vs konfigūracija
Akivaizdu, kad tai yra daugelio taškų taškas, tačiau, kad būtų sąžiningas, aš čia nematau problemos asmeniškai.
Šis argumentas toks: Gulpas yra geras pavyzdys kodas per konfigūraciją gali būti geras dalykas, kai konfigūracija tampa šiek tiek paini. Kiti žmonės sako, kad nors tai tiesa ir „Gulp“ yra lengviau skaityti, tai sunkiau rašykite nes vamzdynai gali būti šiek tiek painūs.
Prieš pradedant svorį, čia yra tas pats pavyzdys pirmiausia Grunt, tada Gulp:
grunt.initConfig (sass: dist: failai: [src: 'dev / *. scss', dest: '.tmp / styles', išplėsti: true, ext: '.css'], autoprefixer : dist: failai: [expand: true, cwd: .tmp / stiliai ", src: ', * / *. css', dest: 'css / styles'], žiūrėti: stiliai: files: ['dev / *. scss'], užduotys: ['sass: dist', 'autoprefixer: dist']); grunt.registerTask („numatytasis“, [„stiliai“, „žiūrėti“));
gulp.task ('sass', funkcija () gulp.src ('dev / *. scss) .pipe (sass ()) .pipe (autoprefixer ()) .pipe (gulp.dest (' css / styles ' ));); gulp.task ('default', funkcija () gulp.run ('sass'); gulp.watch ('dev / *. scss, funkcija () gulp.run (' sass ');); );
Mano nuomone, tai tikrai nėra svarbu. Žinoma, jei esate pripratę prie pirmo būdo, jums gali prireikti šiek tiek laiko suprasti antrąjį, bet taip pat tiesa. Taigi, man “tai paini” argumentas yra visiškai negaliojantis. Bet koks naujas mokymosi metodas iš pradžių yra painus, bet jei jums reikia laiko suprasti kiekvieno logiką, viskas išsiskiria.
Be to, aš asmeniškai norėčiau „Gulp“ API, nes ji yra švarijis atspindi būdą, kaip aš manau labiau, nei Grunt. Tai, žinoma, yra visiškai subjektyvus ir tai nėra problema su „Grunt“, tai tik mano asmeninis pasirinkimas.
Kaip pasirinkti
Nemanau, kad kyla klausimas dėl to, kad ir Grunt, ir Gulp yra puikios priemonės ir padėjo žmonėms sutaupyti daugybę valandų per metus. Dabar Grunt yra šiek tiek lėčiau, tačiau turi daug didesnę bendruomenę. „Gulp“ yra greitesnis, turi švaresnę API, tačiau trūksta vartotojo bazės.
Manau, kad galiausiai sprendimas bus priimtas tęstinumas, prieinami papildiniai ir pirmenybė.
(1) Jei jau kurį laiką naudojote Grunt / Gulp ir tu esi patenkintas, nėra jokios priežasties perjungti.
(2) Jei jūsų projektas reikia papildinių kurių nepateikia „Gulp“ ir jūs nesate pasiruošę parašyti sau save, jums reikės eiti su Grunt.
(3) Jei pirmiau minėtos dvi aplinkybės jums netaikomos, tai bus naudinga. Siūlau išbandyti ir matyti kuris vienas su tavimi.
Kaip jau sakiau, aš nusprendžiau naudoti „Gulp“, nes man patinka geresnė jos švaresnė API, bet aš puikiai tinka naudoti „Grunt“, jei projektas to reikalauja. Ką turėtumėte ne tai yra skaityti, kad p. Know-it-all sakė, kad Gulp yra geresnis ir jį priima. Nors yra skirtumų, nėra aiškaus nugalėtojo ir abu projektai gali ir bus kartu. Išbandykite juos ir susikurkite savo protą.
Pastaba: galbūt norėsite apsvarstyti naudotojų, tokių kaip Keith Cirkel („Javascript“ konsultantas), kurie pataria naudoti taip pat. Jo įdomu, kodėl turėtume nustoti naudoti „Grunt & Gulp“ straipsnį, jis siūlo naudoti npm.
Papildoma literatūra
Yra daug kitų puikių straipsnių apie šią temą. Norėčiau toliau nuoširdžiai rekomenduoti bet kurį iš šių dalykų; niekada skauda skaityti, ką kiti turi pasakyti!
- Grunt vs Gulp - už numerių (ypatingas ačiū už aiškius pavyzdžius)
- Gulp, Grunt, Koks
- Pasirinkite: Grunt, Gulp arba npm?
- Greitasis bandymas „Gulp“ ir „Grunt“
- Kodėl turėtume nutraukti Grunt & Gulp naudojimą
- Sukurti karus (naršyti naudokite rodykles)
- Nereikia Grunt, paimkite Gulp of Fresh Air