gulpfile.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. output: {
  20. ascii_only: true //escape Unicode characters in strings and regexps
  21. }
  22. }))
  23. .pipe(header('/*! <%= pkg.realname %>-v<%= pkg.version %> <%= pkg.description %> <%= pkg.license %> License */\n ;', {pkg: pkg}))
  24. .pipe(gulp.dest('./dist'));
  25. }
  26. ,mobile: function() {
  27. return gulp.src('./src/mobile/layer.js').pipe(uglify({
  28. output: {
  29. ascii_only: true //escape Unicode characters in strings and regexps
  30. }
  31. }))
  32. .pipe(header('/*! <%= pkg.realname %> mobile-v<%= pkg.mobile %> <%= pkg.description %> <%= pkg.license %> License */\n ;', {pkg: pkg}))
  33. .pipe(gulp.dest('./dist/mobile'));
  34. }
  35. ,other: function(){
  36. gulp.src('./src/**/*.{png,gif}').pipe(rename({}))
  37. .pipe(gulp.dest('./dist'));
  38. }
  39. };
  40. gulp.task('clear', function(cb){ //清理
  41. return del(['./dist/*'], cb);
  42. });
  43. gulp.task('layer', task.minjs); //压缩PC版本
  44. gulp.task('mobile', task.mincss); //压缩Mobile文件
  45. gulp.task('other', task.other); //移动一些配件
  46. //发行版本目录
  47. var releaseDir = './release/zip/layer-v' + pkg.version;
  48. var release = releaseDir + '/layer';
  49. //打包发行版
  50. gulp.task('clearZip', function(cb){ //清理
  51. return del([releaseDir], cb);
  52. });
  53. gulp.task('r', ['clearZip'], function(){
  54. gulp.src('./release/doc/**/*')
  55. .pipe(gulp.dest(releaseDir));
  56. return gulp.src([
  57. './dist/**/*'
  58. ,'!./dist/**/moon'
  59. ,'!./dist/**/moon/*'
  60. ])
  61. .pipe(gulp.dest(release));
  62. });
  63. //全部
  64. gulp.task('default', ['clear'], function(){
  65. for(var key in task){
  66. task[key]();
  67. }
  68. });