Boa noite, estou iniciando no gulp e estou fazendo a build do meu primeiro projeto usando essa ferramenta. Uma dúvida, eu vi alguns vídeos na internet (não consegui ver o treinamento aqui da alura ainda) e em quase todos que eu vi, ao executar o gulp ele gera um arquivo index-prod.html.
Pois o meu não gera esse index. Os arquivos são gerados corretamente, mas o index não é gerado e o index.html continua com os caminhos antigos. Abaixo a minha build para verem se estou fazendo algo errado.
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var clean = require('gulp-clean');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var es = require('event-stream');
var htmlmin = require('gulp-htmlmin');
var cleanCSS = require('gulp-clean-css');
var runSequence = require('run-sequence');
var rename = require('gulp-rename');
gulp.task('clean', function(){
return gulp.src('dist/')
.pipe(clean());
});
gulp.task('jshint', function(){
return gulp.src([
'app/js/**/*.js',
'app/website/**/*.js',
'app/app.module.js',
'app/app.route.js',
'app/functions.js'
])
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
gulp.task('uglify' , function(){
return es.merge([
gulp.src([ //le todos os arquivos criados para o site
'app/assets/components/vertical-timeline/js/modernizr.js',
'app/js/**/*.js',
'app/website/**/*.js',
'app/**/*.js'
]).pipe(concat('scripts.js')).pipe(uglify()),
gulp.src([
'assets/lib/jquery/dist/jquery.min.js',
'assets/lib/bootstrap/dist/js/bootstrap.min.js',
'assets/lib/angular/angular.min.js',
'assets/lib/AngularJS-Toaster/toaster.min.js',
'assets/lib/angular-scroll/angular-scroll.min.js',
'assets/lib/angular-animate/angular-animate.min.js',
'assets/lib/angular-ui-router/release/angular-ui-router.min.js',
'assets/lib/owl.carousel/dist/owl.carousel.min.js',
'assets/lib/angular-promise-buttons/dist/angular-promise-buttons.min.js'
])
])
.pipe(concat('all.min.js')) //junta todos os arquivo lidos para um único script
.pipe(gulp.dest('dist/js')) //grava os arquivos na pasta dist
;
});
gulp.task('htmlmin', function(){
return gulp.src(
'app/**/*.html'
)
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest('dist/view'))
});
gulp.task('cssmin', function(){
return es.merge([
gulp.src([
'assets/lib/bootstrap/dist/css/bootstrap.min.css',
'assets/lib/AngularJS-Toaster/toaster.min.css',
'assets/lib/animate.css/animate.min.css',
'assets/lib/owl.carousel/dist/assets/owl.theme.default.min.css',
'assets/lib/owl.carousel/dist/assets/owl.carousel.min.css'
]),
gulp.src([
'app/assets/**/*.css',
'assets/lib/normalize-css/normalize.css',
]).pipe(concat('styles.css'))
])
.pipe(cleanCSS())
.pipe(concat('styles.min.css'))
.pipe(gulp.dest('dist/css'));
});
gulp.task('copy', function(){
return gulp.src('index-prod.html')
.pipe(rename('index.html'))
.pipe(gulp.dest('dist/'));
});
gulp.task('prod', function(cb){
return runSequence('clean', ['jshint', 'uglify', 'htmlmin', 'cssmin' ,'copy'], cb)
});