2016-04-07 13 views
0

İşte şu an yapıyorum. veya kopyalama (bu iki tek içine ya bir yol Bir yeniden adlandırma birleştirebilirsiniz bir yolu var mıİki dosyayı tek bir görevle yeniden adlandırabilir veya kopyalayabilir miyim

gulp.task('rename_bundle_css', ['make_css_bundle'], function() { 
    return gulp.src('content/bundles/css.min.css') 
     .pipe(rename('css-' + md5File('content/bundles/css.min.css') + '.min.css')) 
     .pipe(gulp.dest('content/bundles/')); 
}); 

gulp.task('rename_bundle_css_zip', ['rename_bundle_css'], function() { 
    return gulp.src('content/bundles/css.min.css.gz') 
     .pipe(rename('css-' + md5File('content/bundles/css.min.css') + '.min.css.gz')) 
     .pipe(gulp.dest('content/bundles/')); 
}); 

: Çalışır ama daha sonra sinekler adlandırmak istiyorsanız görevlerin bir sürü ile bitirmek için gidiyorum) bir görevde birden fazla dosya var mı?

akışta her dosya için, aşağıdaki özelliklere sahip bir nesne alır gulp-rename bir fonksiyon geçebilir

cevap

1

:

  • dirname: Dosya
  • basename olan dizine yolu: adı dosya uzantısı
  • extname olmadan dosya: dosya uzantısı

, her bir t değiştirme hese dosyayı yeniden adlandırır. Bu şekilde yeniden yazılması

Sizin örnek aşağıdaki gibi görünebilir:

gulp.task('rename_bundle_css', ['make_css_bundle'], function() { 
    return gulp.src(['content/bundles/css.min.css', 
        'content/bundles/css.min.css.gz']) 
    .pipe(rename(function(file) { 
     var original = file.basename + file.extname.replace(/\.gz$/, ''); 
     var hash = md5File('content/bundles/' + original); 
     file.basename = file.basename.replace(/^css/, 'css-' + hash); 
    })) 
    .pipe(gulp.dest('content/bundles/')); 
}); 
İlgili konular