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