单个任务中的gulp-rev可以合并到一个清单中吗?

时间:2016-03-09 15:45:02

标签: gulp

鉴于这两项任务。我想拥有它,以便每个任务都可以单独运行,并且清单中剩余的其他任务修改不受影响。

gulp.task('testSiteScripts', function(){
var input = 'resources/assets/site/js/';
var output = 'public/site/js/';

gulp.src('public/build/site/js', {read: false})
    .pipe(clean());

return gulp.src([
    'resources/assets/js/lib/jquery-2.2.0.js',
    'resources/assets/js/lib/bootstrap.js',
    input + 'app.js',
])
.pipe(concat('all.js'))
    .pipe(uglify())
.pipe(rev())
.pipe(gulp.dest('public/build/site/js'))
.pipe(rev.manifest({merge: true}))
.pipe(gulp.dest('public/build'));
});

第二项任务

gulp.task('testSiteCss', function(){
var input = 'resources/assets/site/css/';
var output = 'public/site/css/';

gulp.src('public/build/site/css', {read: false})
    .pipe(clean());

return gulp.src([
    input + 'app.css',
])
.pipe(concat('all.css'))
.pipe(minifyCss())
.pipe(rev())
.pipe(gulp.dest('public/build/site/css'))
.pipe(rev.manifest({merge: true}))
.pipe(gulp.dest('public/build'));
});

知道是否可以这样做?这样可以防止缓存破坏没有发生变化的资产。

我也试过

.pipe(rev.manifest('rev-manifest.json', {merge: true, base: './public/build'}))

.pipe(rev.manifest('rev-manifest.json', {merge: true, cwd: './public/build'}))

它将以下行添加到清单中。

"all.js": "all-336381325e.js"

这在我的情况下是错误的,它需要

"site/js/all.js": "all-336381325e.js"

0 个答案:

没有答案