用Gulp的自動化功率簡化您的WordPress主題開發! 本教程演示瞭如何將吞噬整合到您的工作流程中以使重複任務自動化並提高效率。
>關鍵好處:
>gulp-sass
,gulp-autoprefixer
和gulp-rtlcss
的毛線插件來擴展功能。 gulp-plumber
>
為什麼要自動化? 自動化工作流提供了很大的優勢:
>消除重複任務:wordpress(本地安裝)
>
新的圖像添加觸發了優化和遷移到專用文件夾。全局安裝:
打開命令行,並使用NPM在全球範圍內安裝GULP:驗證安裝。 您應該看到Gulp版本。
<code class="language-bash">npm install gulp -g</code>
>主題設置(使用下劃線):gulp -v
>從underscores.me下載下劃線,創建一個主題(例如,“ gulp-wordpress”),將其放置在WordPress主題目錄中,並激活它。 >
本地Gulp安裝:使用命令行(例如,)導航到主題目錄。 初始化npm:
<code class="language-bash">npm install gulp -g</code>
按照提示創建package.json
。然後在本地安裝Gulp:
<code class="language-bash">npm init</code>
ES6 Promise支持:es6-promise
<code class="language-bash">npm install gulp --save-dev</code>
:在主題的root目錄中創建一個空文件。 gulpfile.js
gulpfile.js
CSS(SASS)工作流程:
>安裝插件:
>create
目錄:<code class="language-bash">npm install es6-promise --save-dev</code>>使用您的
>
sass
sass
style.scss
(SASS任務):
gulpfile.js
文件觀看:
<code class="language-bash">npm install gulp-sass gulp-autoprefixer gulp-rtlcss gulp-rename --save-dev</code>
>
的錯誤處理: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>安裝
和用於改進錯誤處理:gulp-plumber
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>
sass
<code class="language-bash">npm install gulp-plumber gulp-util --save-dev</code>
>安裝插件:
創建:
<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>
>(JS任務):.jshintrc
此任務串聯,絨毛和簡化JavaScript文件。
.jshintrc
記住在您的
gulpfile.js
圖像優化:
<code class="language-bash">npm install gulp-concat gulp-jshint gulp-uglify --save-dev</code>
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>
此任務優化了圖像。
/images/src
>更新您的/images/dist
和
實時重新加載的gulpfile.js
browsersync:
<code class="language-bash">npm install gulp-imagemin --save-dev</code>>
watch
default
images
安裝插件:
<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>記住將
>
以上是WordPress主題自動化與Gulp的詳細內容。更多資訊請關注PHP中文網其他相關文章!