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

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