1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| var gulp = require('gulp'); var fs = require('fs'); var rev = require('gulp-rev'); var srcReplace = require('gulp-replace-src');
//复制不需要压缩的文件夹,放到 dist 目录 gulp.task("copy", function(){ return gulp.src(['audio/*','video/*', 'font/*'], {base: "./"}) .pipe(gulp.dest('dist/')) })
//将所有需要添加 md5 的文件改名后放到 dist 目录, 并将文件映射存入到 json 中 gulp.task("version", function() { return gulp.src(['css/*.css','js/*.js', 'img/*'], {base: "./"}) .pipe(rev()) .pipe(gulp.dest('dist/')) .pipe(rev.manifest()) .pipe(gulp.dest('dist/')); });
//根据上一步生成的 json 对 index.html 进行替换 gulp.task("replace", ["version"], function() { var manifest = JSON.parse(fs.readFileSync('dist/rev-manifest.json').toString("utf-8"));
gulp.src('index.html') .pipe(srcReplace({ manifest: manifest, rootPath: './', basePath: './', hash: true, inline: 1 })) .pipe(gulp.dest('./dist')); });
gulp.task("default", ["copy", "version", "replace"]);
|