用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中文网其他相关文章!