2016-11-15 19 views
0

我有咕嘟咕嘟的一點經驗,只是想能夠自動上傳咕嘟咕嘟已經通過一飲而盡手錶創造了它從我的SASS文件後我的CSS文件:CSS添加乙烯FTP部署到現有一口手錶的工作流程

我已經嘗試將'部署'任務添加到gulp watch:css任務中,但是我無法在創建CSS文件後運行部署任務。它總是在以前運行。

下面是相關的代碼,我曾試圖「部署」添加到吞氣表:CSS任務...

gulp.task('watch:css', ['styles', 'deploy'], function() { 
    return gulp.watch(options.theme.sass + '**/*.scss', options.gulpWatchOptions, ['styles', 'deploy']); 
}); 

gulp.task('styles', ['clean:css'], function() { 
    return gulp.src(sassFiles) 
    .pipe($.sourcemaps.init()) 
    .pipe(sass(options.sass).on('error', sass.logError)) 
    .pipe($.autoprefixer(options.autoprefixer)) 
    .pipe($.size({showFiles: true})) 
    .pipe($.sourcemaps.write('./')) 
    .pipe(gulp.dest(options.theme.css)) 
    .pipe($.if(browserSync.active, browserSync.stream({match: '**/*.css'}))) 
}); 

var gutil = require('gulp-util'); 
var ftp = require('vinyl-ftp'); 

gulp.task('deploy', function() { 

    var conn = ftp.create({ 
     host:  'xxx.com', 
     user:  'xxx', 
     password: 'xxx', 
     parallel: 10, 
     log:  gutil.log 
    }); 

    var globs = [ 
     'css/styles.css' 
    ]; 

    // using base = '.' will transfer everything to /public_html correctly 
    // turn off buffering in gulp.src for best performance 

    return gulp.src(globs, { base: '.', buffer: false }) 
     .pipe(conn.newer('/')) // only upload newer files 
     .pipe(conn.dest('/')); 

}); 
+0

[如何依次運行Gulp任務]可能的重複(http://stackoverflow.com/questions/22824546/how-to-run-gulp-tasks-sequentially-one-after-the-other ) –

+0

我無法知道如何運行一個像watch一樣的gulp任務:css總是檢查更改,然後每次在watch:css之後添加部署任務以運行。 我可以得到部署運行後看:CSS一次,但不是每次我做一個SASS更改 –

+0

鏈接的答案告訴你如何做一個任務,順序運行的東西。他們唯一不告訴你的就是從你的手錶中調用這個任務,但這應該是顯而易見的。 –

回答

0

想通了......

的「手錶:CSS」任務調用我的「部署」任務,而不是「風格」:

gulp.task('watch:css', ['deploy'], function() { 
    return gulp.watch(options.theme.sass + '**/*.scss', options.gulpWatchOptions, ['deploy']); 
}); 

的「風格」任務仍是爲

的「去‘運行時的任務,因爲這樣

gulp.task('deploy', ['styles'], function() { 

依賴聯繫‘一飲而盡手錶策略」任務需要在’樣式:CSS’它觸發‘上的每一個變化部署’功能,我的SASS文件,這反過來又觸發'styles'函數編譯我的CSS。