gulpfile.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. var gulp = require('gulp'),
  2. del = require('del'),
  3. minifycss = require('gulp-minify-css'),
  4. concat = require('gulp-concat'),
  5. uglify = require('gulp-uglify'),
  6. rename = require('gulp-rename'),
  7. // babel = require('gulp-babel'),
  8. jshint = require('gulp-jshint'), //js检测
  9. notify = require('gulp-notify'); //提示信息
  10. // 清空dist目录
  11. gulp.task('clean', function () {
  12. return del(['dist/*.js', 'dist/*.css', 'dist/images'])
  13. });
  14. var jsAry = [
  15. './scripts/vendor/jquery/jquery.js',
  16. './scripts/map23DVersion.js',
  17. './scripts/vendor/turf/turf.min.js',
  18. ];
  19. var jsNoLibAry = [
  20. './scripts/vendor/jquery/jquery.js',
  21. './scripts/map23DVersion.js',
  22. './scripts/vendor/turf/turf.min.js'
  23. ];
  24. // 检查js
  25. gulp.task('lint', function () {
  26. return gulp.src(jsAry)
  27. .pipe(jshint())
  28. .pipe(jshint.reporter('default'));
  29. });
  30. //压缩,合并 js
  31. gulp.task('minifyjs', function () {
  32. return gulp.src(jsAry) //需要操作的文件
  33. // .pipe(babel()) // 合并之前将es6语法转换为es5E
  34. .pipe(concat('skyscenery.js')) //合并所有js到main.js
  35. .pipe(gulp.dest('dist')) //输出到文件夹
  36. .pipe(rename({
  37. suffix: '.min'
  38. })) //rename压缩后的文件名
  39. .pipe(uglify({
  40. mangle: false, //不混淆变量名
  41. compress: false,
  42. preserveComments: false //all 不删除注释,还可以为 false(删除全部注释),some(保留@preserve @license @cc_on等注释)
  43. })) //压缩
  44. .on('error', function (err) {
  45. // console.log(err)
  46. gutil.log(gutil.colors.red('[Error]'), err.toString());
  47. })
  48. .pipe(gulp.dest('dist')); //输出
  49. });
  50. //压缩,合并 js
  51. gulp.task('nolib-minifyjs', function () {
  52. return gulp.src(jsNoLibAry) //需要操作的文件
  53. // .pipe(babel()) // 合并之前将es6语法转换为es5
  54. .pipe(concat('skyscenery-nolib.js')) //合并所有js到main.js
  55. .pipe(gulp.dest('dist')) //输出到文件夹
  56. .pipe(rename({
  57. suffix: '.min'
  58. })) //rename压缩后的文件名
  59. .pipe(uglify({
  60. mangle: false, //不混淆变量名
  61. compress: false,
  62. preserveComments: false //all 不删除注释,还可以为 false(删除全部注释),some(保留@preserve @license @cc_on等注释)
  63. })) //压缩
  64. .pipe(gulp.dest('dist')); //输出
  65. });
  66. //默认命令,在cmd中输入gulp后,执行的就是这个任务(压缩js需要在检查js之后操作)
  67. gulp.task('default', gulp.series('clean', 'minifyjs', 'nolib-minifyjs', async () => {
  68. await console.log('已完成');
  69. }))