Gelişmiş WordPress Geliştirme: İş akışınızı kolaylaştırmak için Gulp kullanma

Web sitelerini geliştirmek için geçmişte hangi dili kullanırsanız kullanın, orijinal meslektaşlarına SCS’ler ve CoffeeScript gibi kaba ve monoton görevler-görüntü optimizasyonu, JavaScript Minifikasyonu, birleştirme, süper kümesi derlemesini tamamlamanız gerekir. Sadece birkaç isim için.Neyse ki, Gulp ve Grunt gibi senaryolar bu oldukça sıkıcı bir görevi sizin için halledebilir.İhtiyaç duydukları tek şey biraz düzenleme ve bazı komut satırı bilgisi.Bu, gelişmiş geliştiriciler için WordPress’e odaklanan altı bölümümüzdeki beşinci yazı.Bu seri, temanın ayrıntılı olarak geliştirilmesi, temaları hazır hale getirme, yapı eklentileri, türleri ve özel yayınların, sorguların ve döngülerin taksonomisi de dahil olmak üzere birkaç ilginç kodlama konusunu tanıtan orta kullanıcılar için popüler WordPress’imizin geliştirilmesinden geliyor. , özel alanlar ve meta veriler ve yerelleştirme.
Bu öğreticide, Gulp’i en iyi şekilde nasıl kullanabileceğinize odaklanacağız; Gerçekten kodlama gibi daha önemli görevlere odaklanabilmeniz için genel görevleri yudumlamak için nasıl delege edebilirsiniz. Not: PHP hakkında bilgi sahibi olmanız önemlidir, çünkü bu, geliştiricilere yönelik sürekli konuları içeren bu serinin WordPress’in temel dilidir. Bu dizi boyunca kod görüntülerine başvuracağım. Gulp Gulp’in yüklenmesi, düğüm paket yöneticisi için kısa olan NPM ile kolayca kurulabilir. Düğümün kendisi, NPM içeren çok popüler ve çok kullanışlı bir JavaScript çalışma zamanı ortamıdır. Başlamak için, ilk önce pratik bir kurulum kullanarak düğümü yükleyin, önce düğümü ana düğüm sitesinde pratik bir kurulum kullanarak yükleyin. Ardından, Gulp yüklemek için aşağıdaki kodu kullanın. İşte burada!
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Düğüm ve NPM paketi hakkında not NPM, Gulp gibi paketleri yüklemek için kullanılabilecek bir araçtır. Çoğu paketin yerel olarak yüklenmesi amaçlanmıştır – paket yalnızca eklediğiniz proje klasöründe mevcut olacaktır. NPM, projenizle ilgili meta veriler içeren Package.json adlı özel bir dosya kullanır. Bu adı, açıklama, sürüm ve – en önemlisi – kullandığı paket.
Sonuç olarak, düğüm projesi çok çeviktir. Kullanılan tüm paketleri paylaşmanız veya kontrol sürümünde kontrol etmeniz gerekmez. Package.json’un kullanılabilir olduğundan emin olun ve herkes birkaç saniye içinde tüm ön koşulları almak için NPM yükleme komutunu kullanabilir. Gulp gibi bazı paketler küresel olarak kurulabilir. Bu bir zorunluluk değildir, ancak her zaman kullandığımız araçlar, özellikle geliştirme araçları için daha kolay olacaktır. Paketimizi yüklemek, bu öğretici için Gulp ile ilgili birkaç paket yükleyecektir. Bunu yapmak için sözdizimi aşağıdaki gibidir: Çekirdek 149E592A5BB2FC28839E2F2080E4C333
Adını boşlukla ayırarak bir veya daha fazla paket yükleyebilirsiniz. -Save-Dev veya -d, paketleri geliştirme bağımlılıkları olarak depolamak istediğimizi gösterir. Bizim için bir paket dosyasına yerleştirilecekler. İlk örneğimiz için yeni bir proje başlatmak, bir WordPress teması oluşturacağız. Şimdi nasıl yapacağınızı zaten bilmelisiniz: Tema dizininde yeni bir klasör oluşturun, dizin.php ve style.css dosyasını uygun bilgilerle ekleyin, vb. Dosyalarımızı kaydetmek için Package.json dosyaları da ekleyeceğiz. bağımlılık.
Tüm bunları terminalde ayarlayalım:
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Bu komutu tek tek verin. İlk komutta dikkat edin &&. Bu, ikinci bir komut yayınlamamı sağlıyor, yani ilk satır bir dizin yapacak ve hemen oraya geçecek. NPM Init komutu, dosya paketi.json için bir kılavuzdur. Bu bir dizi soru sorar ve varsayılan olarak her biri için Enter tuşuna basabilirsiniz.
NPM Initkita komutunu takip eden soruların, projemizde kullanabildiğimizden emin olmak için Gulp’i yerel olarak yüklemesi gerekir. Aşağıdaki komut bizim için işleyecektir:
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir

İlk bağımlılıklarınızı yüklediğinizde, node_modules adlı yeni bir klasör göreceksiniz. Bu bir paket çetesi içerecektir (kurduğunuz her birinin çok fazla bağımlılığı olacaktır). Bunu deponuza eklemenize gerek yok; Gereken her şey paket dosyasıdır.
Dosya paketi.json
Gulp Gulp’in temelleri temelde ödevlerin koşucularıdır. Görevin ne zaman yapılması gerektiğini belirlersiniz ve sonra görevin tam olarak ne yapması gerektiğini belirlersiniz. Örneğin: Gulp’i çalıştırırsanız, komut satırında optimize et, Gulp projenizdeki tüm görüntüleri bulmalı ve bunları optimize etmelidir.
Gulp bir çerçeve olduğundan ve her şey için büyülü bir çözüm değil, koşulların ne olduğunu ve yerine getirildiğinde ne yapacağınızı söylemeniz gerekir. Gulp tarafından işini yapmak için gereken tüm bilgileri içeren Gulpfile.js dosyasını kullanırsınız. Şimdi minimal bilgilerle yudum yapalım:

Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
İlk satır yudumun kendisini ithal ediyor. Bunu “Varsayılan” adlı ilk görevimiz izledi. Komut satırına Gulp yazdığınızda, varsayılan atama gerçekleştirilir. Bir mucizenin gerçekleşmesi için oraya bazı kodlar ekleyeceğiz!
Baştan sona bir ödev yapmak için basit bir kontrol listesini takip etmeliyiz:
Ödev yapabilecek paketleri bulun,
Paketi yükleyin,
Gulpfile’a ekleyin ve
Koşulları ve seçenekleri yöneterek görevi yapılandırın. İlk SIP göreviniz yukarıdaki adımları izleyelim ve görüntüyü optimize edin. Ancak bunu yapmadan önce temamıza bir ekran görüntüsü.png görüntü ekleyelim. Bu dosya için önerilen boyut olan 880×660’a kadar kestiğim Unplash’tan bir fotoğraf kullanıyorum. Sonunda 1MB oldu. Google Search hızla PNG, GIF ve JPG görüntülerini daraltan bir yudum-imagemin paketi buldu. Mükemmel! Kurulum ve kullanım talimatları genellikle yerinde mevcuttur. Bu eklentiyi kurmak için aşağıdaki komutu kullanın:
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Gulpfile’a eklemek için, Gulp’ın kendisinin ilk katılımı altına koyacağız:
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Son olarak, koşulları – görev gerçekleştirildiğinde – tanımlamalıyız ve hangi yudumun yapılması gerektiğini söylememiz gerekir. Aşağıda, “Optimize-Images” adlı yeni bir ödevin kodu::

Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
SRC () işlevini kullanarak, Gulp’e resim ararken hangi dosyaların sıralanması gerektiğini söylüyorum. Kök dizindeki tüm GIF, JPG, JPG ve PNG dosyalarını ve görüntü dizinindeki tüm dosyaları arıyoruz.
Daha sonra, uygun tüm dosyaların içeriğini dosyanın üstünde içe aktardığımız Imagemin () adlı işlevine “yükliyoruz”; Bu daha önce yüklediğimiz paket. Bu işlev akışı değiştirecek ve devam edecektir. Alınan akışı, dosya için çıktının konumunu açıklayan Dest () işlevine dağıtıyoruz. Verilen değer, orijinal dosya optimize edilmiş sürümle başlayacaktır. Terminalde Gulp Optimize-Images komutunu çalıştırırsanız, aşağıdaki çıktıyı görecek ve görüntünüzün boyutunun azaldığını göreceksiniz: işyerinde Gulp görüntülerinin optimizasyonu
Gulp’ın çalışma şekli, örneğin bunu iyi açıkladığını düşünüyorum, ancak tekrarlamak ve bazı ek bilgiler eklemek istiyorum. Görevin görevinin arkasındaki genel süreçler aşağıdaki gibidir:
Bazı kaynak dosyaları hedefleyin
İçeriklerini okuyun ve bir işleve verin
Bu teslimat veya borular bir görevde birkaç kez ortaya çıkabilir. Her işlev sonuçları bir öncekinden alır, değiştirir ve devam eder.

Üretilen akışı alın ve belirtilen yere çıkarın
Başka bir örnek olarak SASS dosyasının sürecine bakalım. Tüm Sass dosyalarımızı derlemek, otomatik olarak satıcı önek eklemek ve sonuçları azaltmak istiyorsak, yukarıdaki algoritmanın nasıl uygulanabileceği aşağıdakiler aşağıdadır:
Tüm .scss dosyalarını bul
İçeriklerini Sass Derleyicisine verin
Üretilen içeriği otomatik önekte verin
Sonuçları madenciye verin
Sonuçları aynı kaynak dosyaya kaydedin
Gulp’de gerçekleşmesini sağlayalım. Üç pakete ihtiyacımız var:
SIP-SASS
Yutkunlu
Temiz CSS
Aşağıdaki komutu kullanırken yükleyebiliriz:
Çekirdek yükleme 149E592A5BB2FC28839E2F2080E4C333 Ayrıca, bunları yukarıdaki gulpile’ımıza ekleyelim
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Ayrıca temamıza biraz sass eklemeliyiz.Ana dizinde style.scss adlı bir SASS dosyası oluşturalım: aşağıdaki içerikle:
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Son olarak, ihtiyacımız olan tüm eylemleri gerçekleştirecek bir görev yapmamız gerekiyor.Aşağıdaki açıklama ile aşağıdaki tam kod bulunmaktadır.
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Tüm SCSS dosyalarını kök dizinine aldım, bunları Sass () işlevine kanalize ettim, ardından AutoPrefixer, ardından CleanCSS işlevi izledim ve son olarak her şeyi style.css için style.scss üretecek ana dizine kanalize ediyorum. .Ortaya çıkan CSS aşağıdaki gibidir:
Çekirdek 149E592A5BB2FC28839E2F2080E4C333 içerir
Gördüğünüz gibi, her şey azaltıldı – değişken değeri ile değiştirildi ve gerekirse satıcı öneki eklendi. Bu kodu bulmak için, her belgeye gittim ve örneğin boru kısmını kopyaladım, bu kadar basit. Komut, görülmeye değer birkaç seçenek olabilir, ancak çoğu kutunun dışında çalışır. Dosyayı komutlarımızı yayınlayarak izlerken, uzun mesafeler kat ettik. Doğru paketi bulduğumuz ve yudumumuza eklediğimiz sürece yudumun istediğimiz her şeyi yapmasını sağlayabiliriz. Ancak, daha fazlasını yapabiliriz. Gelişirken, özellikle CSS, çok fazla depolama ve değiştirme eğilimindeyiz. Sürekli bir Gulp CSS komutu vermemiz gerekiyor. GULP, dosyalardaki değişiklikleri algılamamıza ve komutları otomatik olarak vermemize izin veren harika bir mekanizmaya sahiptir. Bunu yaptığımız her şeyin üstünde inşa edebiliriz. Temel olarak yeni bir yön eklememiz gerekiyor: Belirtilen kümedeki dosya değiştiğinde görevi çalıştırın. Gulp-watch yükleyerek ve Gulpfile’a ekleyerek başlayın, bu şimdi kolay olmalı çünkü birkaç kez yaptınız. Bu yeni görev oldukça basit. Tek yaptığımız dosyayı izlemek için ayarlamak ve bunlardan biri uygunsa, görevlerimizden birini yapıyoruz: Çekirdek 149E592A5BB2FC28839E2F2080E4C333
Bu görevi GULP Watch-CSS ile gerçekleştirdiğinizde, terminalinizde aşağıdaki ekran görüntüsü gibi bir şey göreceksiniz. Sadece oradaki “asmak” istemine geri dönmediğini unutmayın. Gösterilen dosyanın değişmesini bekliyor. Bu olduğunda, biraz daha fazla çıktı ekleyecektir. İstem için geri dönmek istiyorsanız, Control + C tuşuna basın.
Bu özet sadece yudumlar, görevler eklerken izlenmesi gereken bazı basit kurallardır ve bunu istediği zaman otomatikleştirebilirsiniz. Dosyaları birleştirebilir, hataları kontrol edebilir, dosyaları kopyala/taşıyabilir/silebilir ve hatta üçüncü taraf bir paket tarafından kapsanmayan herhangi bir şey için kendi paketinizi yazabilirsiniz. Gulp gibi araçlar çalışma gününüzden çalışma saatlerini azaltabilir, bu da muhtemelen uzmanlığınıza en değerli katkı olduğu anlamına gelir.
Bu öğreticinin yararlı olduğunu düşünüyor musunuz? Neden WordPress gelişimini öğrenmek istiyorsunuz? Daha fazla bilmek istiyorsun? Bize aşağıdaki yorumlarda anlatın.
Etiket:
gelişim
Yudumlamak

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir