2016-04-04 1 views
0

私はgulpビルドシステムを使用して開発プロセスを自動化する方法を研究してきました。Gulp Revisioning

私のスタイルシートの改訂に関するいくつかの問題があります。 gulp-revを使用して更新リビジョン番号のファイルを生成しましたが、ファイル内の変更に余分なファイルを作成し続け、結果としてセットアップサイズが増えました。私は、更新変更で最新のファイルを作成するのに役立つとファイルディレクトリまたは最新の更新/変更でのみファイルに私を与える何かから、以前のファイルを削除する必要がある

gulpfile.js

var gulp = require('gulp'); 
var watchLess = require('gulp-watch-less'); 
var less = require('gulp-less'); 
var plumber = require('gulp-plumber'); 
var watch = require('gulp-watch'); 
var rev = require('gulp-rev'); 
var revReplace = require('gulp-rev-replace'); 
var cleanCSS = require('gulp-clean-css'); 
var autoprefixer = require('gulp-autoprefixer'); 
var revAppend = require('gulp-rev-append'); 

//LESS 
gulp.task('less', function() { 
    return gulp.src('assets/less/*.less') 
     .pipe(watchLess('assets/less/*.less')) 
     .pipe(less()) 
     .pipe(autoprefixer({ 
      browsers: ['> 0%'], 
      cascade: false 
     })) 
     .pipe(cleanCSS()) 
     .pipe(gulp.dest('assets/css/')) 
     .pipe(rev()) 
     .pipe(gulp.dest('assets/css/')) 
     .pipe(revAppend()) 
     .pipe(gulp.dest('assets/css')) 
     .pipe(rev.manifest()) 
     .pipe(gulp.dest('assets/')); 
}); 

//Watch 
gulp.task('watch', function(){ 
    gulp.watch('assets/less/*.less', ['less']); 
}) 

//Default 
gulp.task('default', ['watch']); 

その中に。

私はまた、いくつかの他の回転関連のプラグインを使用しますが

答えて

0

さて、あなたは目的地の場所を持つ4本のパイプを持っていることを設定への正しい方法を見つけるdin'tています。

.pipe(gulp.dest('assets/css/')) 
.pipe(gulp.dest('assets/css/')) 
.pipe(gulp.dest('assets/css')) 
.pipe(gulp.dest('assets/')); 

3つの宛先が同じです。異なる段階でパイプ内のすべてのファイルの3つのコピーがあることを期待してください。一息-REVを使用すると、マニフェストのための余分な配管を必要とするが、それはまだ代わりに4

試しの2を私たちに残し:あなたはリビジョンあなたのパッケージをしたい場合には再ヴィジョンに

//LESS 
gulp.task('less', function() { 
    return gulp.src('assets/less/*.less') 
     .pipe(watchLess('assets/less/*.less')) 
     .pipe(less()) 
     .pipe(autoprefixer({ 
      browsers: ['> 0%'], 
      cascade: false 
     })) 
     .pipe(cleanCSS()) 
     .pipe(rev()) 
     .pipe(revAppend()) 
     .pipe(gulp.dest('assets/css')) 
     // WARNING!!! Put the manifest after all the file pipes 
     .pipe(rev.manifest()) 
     .pipe(gulp.dest('assets/')); 
}); 

Here is postあなたのソース管理やビルドサーバにファイルリビジョンの責任を任せてください。

+0

ありがとう@ウィリアム –