首页 > 解决方案 > 从另一个发送参数的任务中调用 gulp 任务两次

问题描述

我想在“proCompiler”函数中调用“proDirection”函数两次来获取 rtl.css 和 ltr.css 文件。

gulp.task('proDirection', function(rtl = 'true') {
    var fileName;
    rtl == 'false' ? fileName = 'ltr-style.css' : fileName = 'rtl-style.css';

    return gulp.src(srcMainStyleFilePath)
        .pipe(header('$rtl:'+ rtl + ';\n'))
        .pipe(sass({
            includePaths: ['node_modules']
        }).on('error', sass.logError))
        .pipe(cssnano({
            autoprefixer: {browsers: supported, add: true}
        }))
        .pipe(rename(fileName))
        .pipe(gulp.dest(distPath));
});

gulp.task('proCompiler', function() {
    //proDirection();
    //proDirection(false);
});

标签: javascriptgulp

解决方案


像这样的东西?

gulp.task('proDirection', proDirection);

gulp.task('proCompiler', function(done) {
    proDirection();
    proDirection('false');
    done();
});

function proDirection(rtl = 'true') {
    var fileName;
    rtl == 'false' ? fileName = 'ltr-style.css' : fileName = 'rtl-style.css';

    return gulp.src(srcMainStyleFilePath)
        .pipe(header('$rtl:'+ rtl + ';\n'))
        .pipe(sass({
            includePaths: ['node_modules']
        }).on('error', sass.logError))
        .pipe(cssnano({
            autoprefixer: {browsers: supported, add: true}
        }))
        .pipe(rename(fileName))
        .pipe(gulp.dest(distPath));
}


推荐阅读