Rumah >Tutorial CMS >WordTekan >Automasi Tema WordPress dengan Gulp

Automasi Tema WordPress dengan Gulp

Jennifer Aniston
Jennifer Anistonasal
2025-02-10 14:09:11649semak imbas

WordPress Theme Automation With Gulp

menyelaraskan pembangunan tema WordPress anda dengan kuasa automasi Gulp! Tutorial ini menunjukkan cara mengintegrasikan Gulp ke dalam aliran kerja anda untuk mengautomasikan tugas berulang dan meningkatkan kecekapan.

Manfaat Utama:

  • Kecekapan yang dipertingkatkan: Gulp mengautomasikan proses yang membosankan, membebaskan anda untuk memberi tumpuan kepada pembangunan teras. Minifikasi aset meningkatkan prestasi tapak.
  • Prasyarat: Pastikan anda mempunyai WordPress, Node.js, NPM, dan kebiasaan baris perintah asas sebelum bermula. Peranan Gulp:
  • Gulp mengendalikan kompilasi SASS, pengendalian CSS, pengoptimuman imej, dan penyemak imbas semula, pembangunan mempercepatkan dengan ketara.
  • Plugin extensibility: Leverage Gulp plugin seperti
  • ,
  • , dan untuk mengembangkan fungsi. gulp-sass gulp-autoprefixer maklum balas masa nyata & pengendalian ralat yang mantap: gulp-rtlcss fungsi menonton Gulp menyediakan kemas kini masa nyata.
  • menghalang kesilapan daripada menghentikan proses.
  • gulp-plumber Mengapa mengautomasikan?

Automasi aliran kerja anda menawarkan kelebihan yang signifikan:

menghapuskan tugas berulang:

Gantikan kerja -kerja mundan dengan alat yang disesuaikan.
  • menjimatkan masa: Tumpukan tenaga anda pada aspek pembangunan kritikal.
  • mengoptimumkan prestasi: pengoptimuman dan pengoptimuman aset meningkatkan kelajuan laman web.
  • Alat penting:

WordPress (dipasang secara tempatan)

node.js dan npm (dipasang)
  • Kemahiran baris perintah asas
  • Memperkenalkan Gulp

Gulp adalah pelari tugas JavaScript yang mengautomasikan tugas masa yang memakan masa seperti pemampatan CSS, kompilasi SASS, pengoptimuman imej, dan penyemak imbas. Ia mencetuskan tindakan berdasarkan peristiwa:

fail sass simpan pencetus kompilasi sass dan output css minified.

Penambahan imej baru mencetuskan pengoptimuman dan penempatan semula ke folder khusus.
  • fail php atau sass menjimatkan pemotongan semula pelayar automatik.
  • Persediaan Gulp

Pemasangan Global:
    Buka baris arahan anda dan pasang Gulp secara global menggunakan NPM:
  1. Sahkan pemasangan dengan . Anda mesti melihat versi Teluk.

    <code class="language-bash">npm install gulp -g</code>

    Persediaan tema (menggunakan garis bawah): gulp -v muat turun garis bawah dari garis bawah.me, buat tema (mis., "Gulp-wordpress"), letakkan di direktori tema WordPress anda, dan aktifkannya.

  2. Pemasangan Gulp Tempatan: Navigasi ke direktori tema anda menggunakan baris perintah (mis.,

    ). Inisialisasi NPM:
  3. <code class="language-bash">npm install gulp -g</code>

    Ikuti arahan untuk membuat package.json. Kemudian pasang Gulp secara tempatan:

    <code class="language-bash">npm init</code>
  4. ES6 Sokongan Janji: Pasang polyfill: es6-promise

    <code class="language-bash">npm install gulp --save-dev</code>
  5. Buat : gulpfile.js Buat fail kosong dalam direktori akar tema anda. gulpfile.js

Mempercepat pembangunan dengan tugas -tugas Gulp

aliran kerja CSS (sass):

  1. Pasang plugin:

    <code class="language-bash">npm install es6-promise --save-dev</code>
  2. Direktori
  3. Direktori CREATE : sass Buat direktori dengan fail sass anda (termasuk tajuk WordPress Stylesheet dan jadual kandungan). style.scss

  4. (tugas sass): tugas ini menyusun sass, menambah awalan vendor, dan secara opsyen menghasilkan stylesheets RTL. gulpfile.js

    <code class="language-bash">npm install gulp-sass gulp-autoprefixer gulp-rtlcss gulp-rename --save-dev</code>
Fail menonton:

tambahkan tugas menonton untuk menjalankan semula tugas

secara automatik apabila fail sass berubah:

sass

<code class="language-javascript">require('es6-promise').polyfill();
const gulp = require('gulp');
const sass = require('gulp-sass');
const autoprefixer = require('gulp-autoprefixer');
const rtlcss = require('gulp-rtlcss');
const rename = require('gulp-rename');

gulp.task('sass', () => {
  return gulp.src('./sass/*.scss')
    .pipe(sass())
    .pipe(autoprefixer())
    .pipe(gulp.dest('./'))
    .pipe(rtlcss())
    .pipe(rename({ basename: 'rtl' }))
    .pipe(gulp.dest('./'));
});</code>
pengendalian ralat dengan

: gulp-plumber Pasang

dan

untuk pengendalian ralat yang lebih baik: gulp-plumber gulp-util

kemas kini tugas
<code class="language-javascript">gulp.task('watch', () => {
  gulp.watch('./sass/**/*.scss', gulp.parallel('sass'));
});

gulp.task('default', gulp.parallel('sass', 'watch'));</code>
anda:

sass

<code class="language-bash">npm install gulp-plumber gulp-util --save-dev</code>
aliran kerja JavaScript:

  1. Pasang plugin:

    <code class="language-javascript">const plumber = require('gulp-plumber');
    const gutil = require('gulp-util');
    
    const onError = (err) => {
      console.error('An error occurred:', gutil.colors.magenta(err.message));
      gutil.beep();
      this.emit('end');
    };
    
    gulp.task('sass', () => {
      return gulp.src('./sass/*.scss')
        .pipe(plumber({ errorHandler: onError }))
        .pipe(sass())
        // ... rest of your sass task
    });</code>
  2. create

    : Buat fail .jshintrc di akar tema anda untuk mengkonfigurasi jshint. .jshintrc

  3. (JS Tugas): Tugas ini menyusun, lints, dan meminimumkan fail JavaScript. gulpfile.js

    ingat untuk enqueue
    <code class="language-bash">npm install gulp-concat gulp-jshint gulp-uglify --save-dev</code>
    di

    anda. app.min.js functions.php

Pengoptimuman imej:

  1. Pasang Plugin:
    <code class="language-javascript">const concat = require('gulp-concat');
    const jshint = require('gulp-jshint');
    const uglify = require('gulp-uglify');
    
    gulp.task('js', () => {
      return gulp.src('./js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'))
        .pipe(concat('app.js'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(uglify())
        .pipe(gulp.dest('./js'));
    });</code>
    Buat Folder Imej:
  2. Buat
  3. dan

    folder. /images/src /images/dist

  4. (tugas imej):
  5. Tugas ini mengoptimumkan imej.

    gulpfile.js Kemas kini tugas dan

    anda untuk memasukkan tugas
    <code class="language-bash">npm install gulp-imagemin --save-dev</code>
    .

    watch default images

    BrowserSync untuk Muat semula Masa Nyata:

Pasang Plugin:
  • (Integrasi BrowserSync):
    <code class="language-javascript">const imagemin = require('gulp-imagemin');
    
    gulp.task('images', () => {
      return gulp.src('./images/src/*')
        .pipe(plumber({ errorHandler: onError }))
        .pipe(imagemin({ optimizationLevel: 7, progressive: true }))
        .pipe(gulp.dest('./images/dist'));
    });</code>
  • gulpfile.js ingat untuk menggantikan dengan url pembangunan WordPress tempatan anda.

    <code class="language-bash">npm install browser-sync --save-dev</code>
    Panduan yang dipertingkatkan ini memberikan pendekatan yang lebih komprehensif dan berstruktur untuk mengintegrasikan Gulp ke dalam aliran kerja pembangunan tema WordPress anda. Ingatlah untuk berunding dengan dokumentasi untuk setiap plugin Gulp untuk pilihan konfigurasi lanjutan.
  • Atas ialah kandungan terperinci Automasi Tema WordPress dengan Gulp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn