我正在使用下划线主题,并且正在运行gulpfile.js配置文件,以简化我的工作流程。
我已在线上阅读了一个教程来进行设置和运行,并安装了它所需的所有npm模块。
首次运行gulp时,我js文件夹中的文件被合并到一个文件app.min.js中。但是,当我随后运行gulp watch时,我对js文件所做的更改(无论是删除文件还是添加新文件),app.min.js文件不会自动更新。
要对其进行更新,我首先必须删除app.min.js文件,关闭终端并再次运行gulp。通过查看gulpfile.js配置文件,监视任务应自动执行此操作。
这就是我的gulpfile.js的样子
require('es6-promise').polyfill();
var gulp = require('gulp'),
sass = require('gulp-sass'),
autoprefixer = require('gulp-autoprefixer'),
plumber = require('gulp-plumber'),
gutil = require('gulp-util'),
rename = require('gulp-rename'),
concat = require('gulp-concat'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
imagemin = require('gulp-imagemin'),
browserSync = require('browser-sync').create(),
reload = browserSync.reload;
var onError = function( err ) {
console.log('An error occurred:', gutil.colors.magenta(err.message));
gutil.beep();
this.emit('end');
};
// Sass
gulp.task('sass', function() {
return gulp.src('./sass/**/*.scss')
.pipe(plumber({ errorHandler: onError }))
.pipe(sass())
.pipe(autoprefixer())
.pipe(gulp.dest('./'))
});
// JavaScript
gulp.task('js', function() {
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'));
});
// Images
gulp.task('images', function() {
return gulp.src('./images/src/*')
.pipe(plumber({ errorHandler: onError }))
.pipe(imagemin({ optimizationLevel: 7, progressive: true }))
.pipe(gulp.dest('./images/dist'));
});
// Watch
gulp.task('watch', function() {
browserSync.init({
files: ['./**/*.php'],
proxy: 'http://skeleton-theme.local/',
});
gulp.watch('./sass/**/*.scss', ['sass', reload]);
gulp.watch(['./js/*.js', '!./js/app.min.js'], ['js', reload]);
gulp.watch('images/src/*', ['images', reload]);
});
gulp.task('default', ['sass', 'js', 'images', 'watch']);
有人可以帮忙吗?