gulp打包及对应requirejs文件打包

//引入gulp和gulp插件
var gulp = require(‘gulp’),
// cssmin = require(‘gulp-clean-css’), //压缩css
runSequence = require(‘run-sequence’),
rev = require(‘gulp-rev’), //添加版本号
revCollector = require(‘gulp-rev-collector’), //添加版本号
clean = require(‘gulp-clean’); //清理文目标文件夹

// imagemin = require('gulp-imagemin'),				//图片压缩
// cache = require('gulp-cache'),						//缓存处理
// htmlmin = require('gulp-htmlmin'),					//压缩html
// replace = require('gulp-replace'),					//替换路径
// uglify = require('gulp-uglify'),					//压缩js
// jshint = require('gulp-jshint')	;					//js语法检查

//定义css、js文件路径,是本地css,js文件的路径,可自行配置
// var cssUrl = [‘dist//.css’,'dist/.css’],
// imgUrl = ['dist/
/.{png,jpg,gif,ico}’,'dist/.{png,jpg,gif,ico}’],
// jsUrl = [‘dist/**/.js’,’!dist/trd/requirejs/.js’,’!dist/…/*.min.js’]

var cssUrl = [‘dist//.css’,'dist/.css’],
imgUrl = ['dist/
/.{png,jpg,gif,ico}’,'dist/.{png,jpg,gif,ico}’],
jsUrl = [‘dist//*.js’,’!dist//*.min.js’];

gulp.task(“clean”,function(){
return gulp.src(‘dist/*’,{read:false})
.pipe(clean());
});

gulp.task(‘copy’, function() {
return gulp.src(‘df/**/’)
.pipe(gulp.dest(‘dist’))
});
// gulp.task(“copy”,function(){
// return gulp.src('df/
’)
// .pipe(gulp.dest(‘dist’));
// });

//img生成文件hash编码并生成 rev-manifest.json文件名对照映射
gulp.task(‘revImg’, function () {
return gulp.src(imgUrl)
// .pipe(cache(imagemin())) //没有修改的图片直接从缓存文件读取
.pipe(rev())
.pipe(rev.manifest())//- 生成一个rev-manifest.json
.pipe(gulp.dest(‘rev/img’));
});

//CSS生成文件hash编码并生成 rev-manifest.json文件名对照映射
gulp.task(‘revCss’, function(){
return gulp.src(cssUrl)
// .pipe(cssmin())
.pipe(rev())
.pipe(rev.manifest())
.pipe(gulp.dest(‘rev/css’));
});

//js生成文件hash编码并生成 rev-manifest.json文件名对照映射
gulp.task(‘revJs’, function(){
return gulp.src(jsUrl)
// .pipe(jshint())
// .pipe(uglify())
.pipe(rev())
.pipe(rev.manifest())//- 生成一个rev-manifest.json
.pipe(gulp.dest(‘rev/js’));
});
//Html更换css、js文件版本
// gulp.task(‘revUrl’, function() {
// gulp.src([‘rev/{css,img,js}/.json’,'dist/**/.html’,’!dist/**/*._html’]) //- 读取 rev-manifest.json 文件以及需要进行css名替换的文件
// .pipe(revCollector({
// replaceReved:true //一定要加上这一句,不然不会替换掉上一次的值
// })) //- 执行文件内css名的替换
// .pipe(gulp.dest(‘dist’)); //- 替换后的文件输出的目录

// //gulp.src([‘rev/{css,img,js}/.json’, 'dist/**/.css’])
// //.pipe(revCollector({replaceReved:true}))
// //.pipe(gulp.dest(‘dist’));

// //gulp.src([‘rev/js/.json’,'dist/**/.js’])
// //.pipe(revCollector({replaceReved:true}))
// //.pipe(gulp.dest(‘dist’));

// });

//Html更换css、js文件版本
gulp.task(‘revHtml’, function () {
return gulp.src([‘rev//*.json’,'dist//*.html’]) /WEB-INF/views是本地html文件的路径,可自行配置/
.pipe(revCollector({replaceReved:true}))
.pipe(gulp.dest(‘dist’)); /Html更换css、js文件版本,WEB-INF/views也是和本地html文件的路径一致/
});

//更换RequireJs引用文件版本
gulp.task(‘revRequireJs’, function () {
return gulp.src([‘rev/js/.json’,'dist/**/.js’])
.pipe(revCollector({replaceReved:true}))
.pipe(gulp.dest(‘dist’));
});
还有一些node工具包文件要进行对应修改后续进行上传

你可能感兴趣的:(webpack,gulp,gulp)