gulp watch不会更新concat app.min.js文件

时间:2018-08-28 13:42:21

标签: javascript node.js gulp

我正在使用下划线主题,并且正在运行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']);

有人可以帮忙吗?

0 个答案:

没有答案