Rumah >Tutorial CMS >WordTekan >Automasi Tema WordPress dengan Gulp
Manfaat Utama:
gulp-sass
gulp-autoprefixer
maklum balas masa nyata & pengendalian ralat yang mantap: gulp-rtlcss
fungsi menonton Gulp menyediakan kemas kini masa nyata. gulp-plumber
Mengapa mengautomasikan? Automasi aliran kerja anda menawarkan kelebihan yang signifikan:
menghapuskan tugas berulang:
Gantikan kerja -kerja mundan dengan alat yang disesuaikan.WordPress (dipasang secara tempatan)
node.js dan npm (dipasang)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.
Pemasangan Global:
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.
Pemasangan Gulp Tempatan: Navigasi ke direktori tema anda menggunakan baris perintah (mis.,
). Inisialisasi NPM:<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>
ES6 Sokongan Janji: Pasang polyfill: es6-promise
<code class="language-bash">npm install gulp --save-dev</code>
Buat : gulpfile.js
Buat fail kosong dalam direktori akar tema anda. gulpfile.js
Mempercepat pembangunan dengan tugas -tugas Gulp
aliran kerja CSS (sass):
Pasang plugin:
<code class="language-bash">npm install es6-promise --save-dev</code>
Direktori CREATE : sass
Buat direktori dengan fail sass
anda (termasuk tajuk WordPress Stylesheet dan jadual kandungan).
style.scss
(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>
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
untuk pengendalian ralat yang lebih baik: gulp-plumber
gulp-util
<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:
<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>
: Buat fail .jshintrc
di akar tema anda untuk mengkonfigurasi jshint.
.jshintrc
(JS Tugas): Tugas ini menyusun, lints, dan meminimumkan fail JavaScript. gulpfile.js
<code class="language-bash">npm install gulp-concat gulp-jshint gulp-uglify --save-dev</code>di
anda. app.min.js
functions.php
<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:
folder.
/images/src
/images/dist
gulpfile.js
Kemas kini tugas dan
<code class="language-bash">npm install gulp-imagemin --save-dev</code>.
watch
default
images
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!