2016-07-14 11 views
0

Ich benutze einige Schluck-Task zur Bereitstellung in der Produktion, aber ich habe ein Problem mit gulp-deploy, ich brauche einige andere Dateien aus anderen Ordner an verschiedenen Speicherort auf dem Server kopiert werden dies ist meine AufgabeGulp Bereitstellung von ftp zur Produktion

//Gulp APP ftp deploy 
gulp.task('deploy-app', function() { 

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

    var globs = [ 
     './css/**/*{css,png,jpg,gif,ttf,woff,eof,svg,woff2}', 
     './img/**', 
     './views/**', 
     './scripts/**', 
     'index.html', 
     'Web.config' 
    ]; 

    // 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('/site/wwwroot')) // only upload newer files 
     .pipe(conn.dest('/site/wwwroot')); 

}); 

Das Problem, das ich hier habe, ist, dass ich index.html von der Wurzel nicht brauchen, weil ich eine andere index.html haben, die in Ordner dist aber es hat in Wurzel des Server-Ordner gehen , wie man das macht

Antwort

1

Verwenden gulp-if mit gulp-rename in Kombination nur das Zielverzeichnis, ohne eine der anderen Dateien für Ihre index.html Datei zu ändern zu beeinflussen:

var gulpIf = require('gulp-if'); 
var rename = require('gulp-rename'); 

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

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

    var globs = [ 
     './css/**/*{css,png,jpg,gif,ttf,woff,eof,svg,woff2}', 
     './img/**', 
     './views/**', 
     './scripts/**', 
     './dist/index.html', 
     'Web.config' 
    ]; 

    return gulp.src(globs, { base: '.', buffer: false }) 
     .pipe(gulpIf('dist/index.html', rename({dirname:''}))) 
     .pipe(conn.newer('/site/wwwroot')) 
     .pipe(conn.dest('/site/wwwroot')); 
});