解决 gulp4.0 以上版本中 gulp-clean 插件执行顺序错误的问题

注意:最后exports.default的series中,必须在 clean 之后有个自定义匿名函数,不能直接将其他函数直接跟在clean之后,执行操作;
gulpfile.ts文件正确写法如下:
 
const { src, dest, series, parallel, task } = require("gulp");
/**插件模型 */
const plugin = {
    /**压缩js文件插件 */
    "uglify": require("gulp-uglify"),
    /**删除文件工具 */
    "clean": require("gulp-clean"),
    /**文件系统插件 */
    "fs": require("fs")
};
/**目录模型 */
const dir = {
    /**源文件目录 */
    "srcDir": {
        /**源程序的根目录 */
        "root": "./src/",
        /**组件目录 */
        "component": "./src/component/",
        /**view视图文件所在目录 */
        "viewDir": "./src/views/",
        /**模型文件所在目录 */
        "modelDir": "./src/models/"
    },
    /**目标程序的根目录 */
    "destDir": {
        /**目标目录的根目录 */
        "root": "./dist/",
        /**组件目录 */
        "component": "./dist/Component/",
        /**view视图文件所在目录 */
        "viewDir": "./dist/views/",
        /**模型文件所在目录 */
        "modelDir": "./dist/models/"
    }
};
/**清理目录 */
function cleanDist(): any {
    return src(dir.destDir.root, { allowEmpty: true })
        .pipe(plugin.clean());
}
/**copy所有组件 */
function componentCopyTo(): any {
    return src(dir.srcDir.component + "**/*.js")
        .pipe(plugin.uglify())
        .pipe(dest(dir.destDir.component));
}
/**copy所有模型 */
function modelCopyTo(): any {
    return src(dir.srcDir.modelDir + "**/*.js")
        .pipe(plugin.uglify())
        .pipe(dest(dir.destDir.modelDir));
}
/**copy所有视图文件 */
function viewCopyTo(): any {
    return src(dir.srcDir.viewDir + "**/*.html")
        .pipe(dest(dir.destDir.viewDir));
}
exports.default = series(cleanDist, async () => {
    await componentCopyTo();
    await modelCopyTo();
    await viewCopyTo();
});
原文地址:https://www.cnblogs.com/hgm210/p/12865680.html