javascript - Gulp同步任务问题

标签 javascript node.js gulp

我正在尝试在 1 中收集调试所需的 3 个任务。当然,由于 gulp 的本质是异步的,我对此有疑问。所以我搜索并找到了使用运行序列模块来解决该问题的解决方案。我尝试了以下代码,但它似乎没有按预期工作。它没有同步。 这是我试过的。有什么想法吗?我不想运行所有这三个命令来完成所有任务。我该怎么做?

var gulp = require('gulp'),
    useref = require('gulp-useref'),
    gulpif = require('gulp-if'),
    debug = require('gulp-debug'),
    rename = require("gulp-rename"),    
    replace = require('gulp-replace'),
    runSequence = require('run-sequence'),
    path = '../dotNet/VolleyManagement.UI';  

gulp.task('debug', function () {
    gulp.src('client/*.html')
        .pipe(debug())
        .pipe(gulp.dest(path + '/Areas/WebAPI/Views/Shared'));
});

gulp.task('rename', function () {    
    gulp.src(path + '/Areas/WebAPI/Views/Shared/index.html')
        .pipe(rename('/Areas/WebAPI/Views/Shared/_Layout.cshtml'))
        .pipe(gulp.dest(path));        

    gulp.src(path + '/Areas/WebAPI/Views/Shared/index.html', {read: false})
        .pipe(clean({force: true})); 
});

gulp.task('final', function(){
    gulp.src([path + '/Areas/WebAPI/Views/Shared/_Layout.cshtml'])
        .pipe(replace('href="', 'href="~/Content'))
        .pipe(replace('src="', 'src="~/Scripts'))
        .pipe(gulp.dest(path + '/Areas/WebAPI/Views/Shared/'));
}); 

gulp.task('debugAll', runSequence('debug', 'rename', 'final'));

最佳答案

在 gulp 中,您实际上可以设置依赖任务。试试这个:

gulp.task('debug', function () {
    //run debug task
});

gulp.task('rename',['debug'], function () {    
    //run rename once debug is done
});

关于javascript - Gulp同步任务问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31496717/

相关文章:

javascript - gulp 4 的浏览器列表和同步完成问题

Javascript bug,重复提示,仅出现在 GitHub 中

javascript - 记录数组中匹配字符串的所有实例 - JavaScript

javascript - vue.js 中的多个条件

javascript - 让 promise 在返回前等待几秒钟

javascript - 使用 'passport.isAuthenticated()'检查Nodejs中的多个用户角色

node.js - Node 12 中的 PubNub 问题

node.js - 使用 Alexa 计数

javascript - gulp-live-server 不刷新页面