gulpfile.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*global require:true, console:true */
  2. var gulp = require('gulp');
  3. var nodemon = require('gulp-nodemon');
  4. var jshint = require('gulp-jshint');
  5. var uglify = require('gulp-uglify');
  6. var minifyHTML = require('gulp-minify-html');
  7. var minifycss = require('gulp-minify-css');
  8. var concat = require('gulp-concat');
  9. var del = require('del');
  10. var hintTask = function () {
  11. gulp.src(['*.js', './src/js/**/*.js'])
  12. .pipe(jshint('.jshintrc'))
  13. .pipe(jshint.reporter('jshint-stylish'));
  14. };
  15. gulp.task('hint', function() {
  16. hintTask();
  17. });
  18. var cleanTask = function () {
  19. console.log('CLEAN: Clean Complete');
  20. return del([
  21. 'app/**/*',
  22. '!app/img/',
  23. '!app/css/',
  24. '!app/fonts/',
  25. '!app/js/',
  26. ]);
  27. };
  28. gulp.task('clean', function() {
  29. cleanTask();
  30. });
  31. var buildTask = function() {
  32. gulp.src('./src/app.js')
  33. .pipe(gulp.dest('./app'));
  34. gulp.src('./src/index.html')
  35. .pipe(minifyHTML())
  36. .pipe(gulp.dest('./app'));
  37. gulp.src('./src/img/*')
  38. .pipe(gulp.dest('./app/img'));
  39. gulp.src(['./src/css/bootstrap.css','./src/css/main.css'])
  40. .pipe(concat('style.min.css'))
  41. .pipe(minifycss())
  42. .pipe(gulp.dest('./app/css'));
  43. gulp.src(['./src/js/jquery.js','./src/js/bootstrap.js'])
  44. .pipe(concat('lib.min.js'))
  45. .pipe(uglify())
  46. .pipe(gulp.dest('./app/js'));
  47. gulp.src(['./src/js/main.js'])
  48. .pipe(concat('main.min.js'))
  49. .pipe(uglify())
  50. .pipe(gulp.dest('./app/js'));
  51. console.log('\033[31m BUILD: Build Complete');
  52. };
  53. gulp.task('build', function() {
  54. buildTask();
  55. });
  56. var watchTask = function() {
  57. gulp.src('./src/app.js')
  58. .pipe(gulp.dest('./app'));
  59. gulp.src('./src/index.html')
  60. .pipe(minifyHTML())
  61. .pipe(gulp.dest('./app'));
  62. gulp.src(['./src/css/bootstrap.css', './src/css/main.css'])
  63. .pipe(concat('style.min.css'))
  64. .pipe(minifycss())
  65. .pipe(gulp.dest('./app/css'));
  66. gulp.src(['./src/js/main.js'])
  67. .pipe(concat('main.min.js'))
  68. .pipe(uglify())
  69. .pipe(gulp.dest('./app/js'));
  70. console.log('\033[31m WATCH: Watch Complete');
  71. };
  72. gulp.task('watch', function() {
  73. watchTask();
  74. });
  75. var nodemonTask = function() {
  76. nodemon({
  77. tasks: ['watch'],
  78. script: 'app.js',
  79. verbose: true,
  80. env: { 'NODE_ENV': 'development' },
  81. watch: ['./src/'],
  82. ext: 'css js html'
  83. });
  84. };
  85. gulp.task('run', function () {
  86. nodemonTask();
  87. });