Hoe Grunt WordPress Development kan verbeteren

In het eerste deel van deze serie gaf ik een snel overzicht van Grunt. Ik heb ook de verschillende technologieën besproken die nodig zijn om te gebruiken. Daarna ging ik een beetje in de Gruntfile en de taken erin.

Nu wil ik het hebben over hoe het gebruik van Grunt jouw ontwikkeling kan verbeteren voor zowel WordPress-thema's als plug-ins.

Eenvoudige projectinstelling

Mijn favoriete onderdeel over het gebruik van Grunt en npm is dat het bij het opzetten van je project de afhankelijkheden van je project zelfdocumenteert. Dit is geweldig voor ontwikkelingsteams en open-sourceprojecten. Wie wil er toch documentatie schrijven over hoe je een werkruimte instelt, toch??

package.json

Eerst moet u een package.json-bestand in uw project hebben. U moet de naam, versie en beschrijving van het project instellen. We zullen hier in het volgende bericht meer gedetailleerd op ingaan, maar hier is een voorbeeld:


"naam": "projectnaam",
"version": "1.0.0",
"description": "Fantastisch project"

Zodra u deze instelling hebt ingesteld, hoeft u alleen maar een grunt-plug-in toe te voegen --save-dev tot het einde en het zal de plug-in toevoegen aan uw package.json-bestand onder devDependencies. Bijvoorbeeld, als ik het wilde toevoegen grunt-contrib-horloge plugin in mijn project zou ik het volgende commando uitvoeren:

npm install grunt-contrib-watch --save-dev

U zult zien dat de plug-in aan uw is toegevoegd  node_modules map en dit zou er ook toe moeten leiden dat uw package.json-bestand er als volgt uitziet:


"naam": "projectnaam",
"version": "1.0.0",
"description": "Fantastisch project",
    "devDependencies":
"grunt-contrib-watch": "~ 0.5.x"

Terwijl je andere Grunt-plug-ins installeert en toevoegt --save-dev tot het einde ziet u ze toegevoegd onder de devDependencies voorwerp.

npm installeren

Waarom is dit nuttig? Zoals ik al eerder zei, dit is het zelf documenteren van de afhankelijkheden van uw projecten. Zodra u al uw plug-ins hebt geïnstalleerd en aan uw pakket.json-bestand hebt toegevoegd, kan nu een ander teamlid of andere bijdrager worden uitgevoerd npm installeren en ze zullen alles installeren wat nodig is voor het project.

Je kunt dit vrij eenvoudig testen door je hele album te verwijderen node_modules  map en actief npm installeren jezelf. U ziet alles wat u instelt automatisch geïnstalleerd.

[note] U wilt het toevoegen node_modules map naar uw .gitignore bestand, zodat je je repository niet plat krijgt. [/ note]

Let op veranderingen

Ik gebruik veel vergelijkbare Grunt-plug-ins bij elk project, maar degene die ik altijd installeer, is degene die ik eerder heb genoemd, grunt-contrib-watch. Deze plug-in voert de projectbestanden uit en start alle taken die u hebt gespecificeerd voor dat bestand of bestandstype.

Een voorbeeld is voor al uw JavaScript-bestanden. Wanneer u een van deze wijzigingen aanbrengt en deze opslaat, kunt u Grunt een JSLint-, concat- en minify-taak laten uitvoeren. Je kunt ook een bestelling opgeven, dus wanneer een ervan slaagt, wordt de volgende afgetrapt. Als er een faalt, dan doodt het de hele takenreeks.

CodeKit heeft een vergelijkbare functie, maar het voert al uw taken uit. Als u bijvoorbeeld een SASS- of LESS-bestand wijzigt, start het niet alleen die taken, maar worden ook uw JavaScript-bestandstaken gestart. De Grunt-kijktaak geeft u meer controle over welke taken worden uitgevoerd wanneer specifieke bestanden of bestandstypen worden gewijzigd.

Aangepaste taken maken

Samen met de Grunt-taken voor de plug-ins die u installeert, kunt u uw eigen aangepaste taken maken. Heel vaak wanneer ik een project opzet, heb ik 3 taken die ik heb opgezet, standaard, opstelling, en bouwen.

Standaard

De standaardtaak is de taak die wordt uitgevoerd terwijl u wordt uitgevoerd knorren vanaf de opdrachtregel. Heel vaak zal ik mijn wachttaak standaard in kaart brengen. Je kunt elke taak die je wilt uitvoeren ook toevoegen.

Opstelling

De setup-taak die ik instel, doet gewoonlijk de dingen die alleen de eerste keer hoeven gebeuren om uw projectinstellingen in te stellen. Vaak gebruik ik Bower om bibliotheken van derde partijen zoals Bootstrap te laden en die naar beneden te trekken en vervolgens een kopieertaak uit te voeren om een ​​aantal bestanden naar mijn project te verplaatsen en vervolgens een eerste compilatie van de LESS- en JavaScript-bestanden te starten.

Bouwen

De build-taak wordt gebruikt voor de dingen die moeten worden gedaan voordat u uw project vrijgeeft of distribueert. Ik voer dit altijd uit om ervoor te zorgen dat alles aaneengeschakeld, verkleind en gecomprimeerd is. Een goed voorbeeld is het uitvoeren van grunt-contrib-imagemin om alle afbeeldingen in uw project te optimaliseren. Een ander voorbeeld is het gebruik van de grunt-contrib-compress om een ​​zip-bestand van je thema te maken, zodat het gemakkelijk te installeren is via de WordPress-beheerder.

Conclusie

Grunt is zonder twijfel een geweldig hulpmiddel voor teams van ontwikkelaars. Van het automatisch documenteren van de afhankelijkheden van uw project tot het maken van maatwerk, met Grunt wordt u efficiënt. Gebruik Grunt om verschillende taken in uw project te automatiseren, zodat u zich kunt concentreren op het bouwen van uw WordPress-thema of -plug-in.

Middelen

  • knorren
  • NPM
  • Grunt Contrib Watch-taak
  • CodeKit
  • Prieel
  • bootstrap
  • grunt-contrib-imagemin
  • grunt-contrib-compress