Kısaca Grunt

Grunt bir görev çalıştırıcısı. Web geliştirme sürecinde ihtiyacınız olan operasyonları otomatize etmenize yarayacak bir araç. Daha çok platforma dönüşmüş olan grunt, yüzlerce eklentiyle istediğiniz forma sokabileceğiniz bir yapılandırma aracı. Hızlıca bir örnek vereceğim. Basit bir web sitesi hazırlıyorsunuz ve stillerinizi css yerine less ile yazdınız, javascriptlerinizi cosnole.log debug satırlarıyla ve bir sürü yorum ile yazdınız. Sitenizi her yayına alacagınızda bir toparlama ve paketleme işi yapmanız gerekiyor, lessilerinizi css'lere derlemek, belki cssmin gibi ufaltma operasyonuna sokmak, imajlarınızı sıkıştırmanız, javascriptlerinizi temizleyip küçültmeniz belki birden fazla kaynağı tek dosyada birleştirmeyi isteyeceksiniz. Her değişiklik yaptığınızda bu işlemleri tekrarlamanıza imkan yok. İşte bu noktada grunt devreye giriyor.

Grunt ile neler yapabilirsiniz?

Sonu yok çünkü kendi eklentilerinizi yazarak node.js yeteneklerini kullanarak yapamayacağınız şey yok. Ama eklenti veritabanından erişebileceğiniz o kadar çok şey var ki.
- Less, Scss, Sass vb... herhangi bir css derleme işinizi
- Kod validasyonu (css, js, html)
- Imaj optimizasyonu
- Birden fazla javascript veya css kaynağını birleştirme
- Css veya javascript sıkıştırma
- Kodunuzdaki yorumları, debug için geriye kalan artıkları temizleme
- Kaynak versiyonlama

Daha sayamadığım bir çok operasyonu grunt ile farklı kombinasyonlarda hazırlamanız mümkün.

Örnek

Versiyonlamayı denemek için kendime bir örnek kod hazırladım ve github'da paylaştım. Basit bir css javascript projesinde kodumu yayınlamadan önce bütün css ve javascript kaynaklarımı sıkıştırıp adlarını versiyonlamarak yayındaki tüm dosyaların en taze kodu kullanmasını sağlamak için grunt kullandım. Projeyehttps://github.com/mfyz/grunt-release-boilerplate adresinden erişebilirsiniz.

Grunt hakkinda daha fazla bilgiye sitesinden erişebilirsiniz:http://gruntjs.com/

Popüler Etiketler

javascript js örnek kod spam portfolio doritos tytz php coding jquery link plugin session cookie apple windows konsol terminal nedir social media sosyal compile htaccess url html meta svn subversion git version control deployment twitter istatistik insanlar medya facebook share css kitap iphone ipad laptop notebook statistics graph object widget wireless box ruffles wanda oyun rss parse xml pear mdb2 prepare execute mysql mssql pgsql macosx osx player firefox ios app store store in-app purchase purchase subscription verification storekit itunes connect itunes api auth iOS blog css3 bootstrap apache route router mod_rewrite mobile app banner ie browser pharma hack wordpress language tebrik download injection less compiler linux on-the-fly zaman browsers support calendar tool assets applications free xhtml job digital kurulum developer mfyz design generator ui ux login webkit form ubuntu cache development style sql query connect proje kampanya internet optimizasyon analyse procedure while google search ajax sitemap seo newsletter mail html5 input editor optimization cms date tarih screen license lisans www subdomain redirect crossdomain mootools xmlhttprequest http server chart textarea internet explorer radio table workspace framework web app open source service lifestream select startups db code kontrol yapıları if gimp opengraph fql regex icons database ipucu network export diff switch phpstorm jetbrains ide imza signature nasıl button logo howto music icon ikon grafik dokuman ntfs fstab integration