gulpfile.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**
  2. layer构建
  3. */
  4. var pkg = require('./package.json');
  5. var gulp = require('gulp');
  6. var uglify = require('gulp-uglify');
  7. var minify = require('gulp-minify-css');
  8. var rename = require('gulp-rename');
  9. var header = require('gulp-header');
  10. var del = require('del');
  11. var task = {
  12. layer: function() {
  13. gulp.src('./src/**/*.css')
  14. .pipe(minify({
  15. compatibility: 'ie7'
  16. }))
  17. .pipe(gulp.dest('./dist'));
  18. return gulp.src('./src/layer.js').pipe(uglify())
  19. .pipe(header('/*! <%= pkg.realname %>-v<%= pkg.version %> <%= pkg.description %> <%= pkg.license %> License <%= pkg.homepage %> By <%= pkg.author %> */\n ;', {pkg: pkg}))
  20. .pipe(gulp.dest('./dist'));
  21. }
  22. ,mobile: function() {
  23. return gulp.src('./src/mobile/layer.js').pipe(uglify())
  24. .pipe(header('/*! <%= pkg.realname %> mobile-v<%= pkg.mobile %> <%= pkg.description %> <%= pkg.license %> License <%= pkg.homepage %>mobile By <%= pkg.author %> */\n ;', {pkg: pkg}))
  25. .pipe(gulp.dest('./dist/mobile'));
  26. }
  27. ,other: function(){
  28. gulp.src('./src/**/*.{png,gif}').pipe(rename({}))
  29. .pipe(gulp.dest('./dist'));
  30. }
  31. };
  32. gulp.task('clear', function(cb){ //清理
  33. return del(['./dist/*'], cb);
  34. });
  35. gulp.task('layer', task.minjs); //压缩PC版本
  36. gulp.task('mobile', task.mincss); //压缩Mobile文件
  37. gulp.task('other', task.other); //移动一些配件
  38. //打包发行版
  39. var releaseDir = './release/zip/layer-v' + pkg.version;
  40. gulp.task('clearZip', function(cb){ //清理
  41. return del(['./release/zip/*'], cb);
  42. });
  43. gulp.task('r', ['clearZip'], function(){
  44. gulp.src('./release/doc/**/*')
  45. .pipe(gulp.dest(releaseDir))
  46. return gulp.src([
  47. './dist/**/*'
  48. ,'!./dist/**/moon'
  49. ,'!./dist/**/moon/*'
  50. ])
  51. .pipe(gulp.dest(releaseDir + '/layer'))
  52. });
  53. //全部
  54. gulp.task('default', ['clear'], function(){
  55. for(var key in task){
  56. task[key]();
  57. }
  58. });