gulp4文件监控无效

我搭建了一个用于传统前端项目的文件编译、压缩的通用架构。
但在我实现文件监控部分时,发现对应的task未执行。

运行gulp build有效,运行gulp dev不报错,但文件变化时,对应的task没有执行,不知道是因为什么?

const { series, src, dest, watch } = require('gulp');
const babel = require('gulp-babel');
const uglify = require('gulp-uglify');
const sass = require('gulp-sass')(require('sass'));
const clean = require('gulp-clean');

const ENTRY_PATH = "D:\\demo\\golang\\go-nav\\web\\gulp"
const OUTPUT_PATH = "D:\\demo\\golang\\go-nav\\web\\dist"
const CONFIG = {
    entry: {
        sass: ENTRY_PATH + "/sass",
        js: ENTRY_PATH + "/js"
    },
    output: {
        css: OUTPUT_PATH + "/css",
        js: OUTPUT_PATH + "/js"
    }
}

function style() {
    console.log(1)
    return src(CONFIG.entry.sass + '/*.scss')
      .pipe(sass().on('error', sass.logError))
      .pipe(dest(CONFIG.output.css));
}

function js() {
    return src(CONFIG.entry.js + '/*.js')
    .pipe(babel())
    .pipe(uglify())
      .pipe(dest(CONFIG.output.js));
}

function cleanTask(){
    return src(OUTPUT_PATH)
    .pipe(clean({force: true}))
}

exports.build = series(cleanTask,style,js)

exports.dev = function(){
    watch([
        CONFIG.entry.sass + '/*.scss',
        CONFIG.entry.sass + '/**/*.scss'
    ],series(style))

    watch(CONFIG.entry.js + '/*.js',series(js))
}
阅读 1.5k
1 个回答

不再使用gulp.watch,改用gulp-watch。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题