Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Versionamento da Imagem

Pessoal,

O versionamento funcionou. Só que o arquivo de imagem versionado, não foi o arquivo otimizado. Ou seja aquela redução do tamanho da imagem que obtivemos com a otimização foi perdida ao realizar a revisão.

Acredito que seja algum erro e o grunt-rev tenha feito a revisão na versão não otimizada (assim espero).....

Na pasta de img do destino (dist), ficaram 2 arquivos de imagens. Um arquivo otimizado e outro arquivo revisado.

Como fazer para ficar apenas o arquivo revisado? E principalmente como realizar a revisão no arquivo já otimizado?

Segue abaixo meu gruntfile.js


module.exports = function(grunt) {

    grunt.initConfig({
        copy: {
            public: {
                cwd: './', 
                src: ['**', '!node_modules/**'], 
                dest: 'dist', 
                expand: true
            }
        }, 
        clean: {
            dist: {
                src: 'dist'
            },
            cssNonMin: {
                src: ['dist/css/**/*', '!dist/css/*.min.css']
            },
            jsNonMin: {
                src: ['dist/js/**/*', '!dist/js/*.min.js']
            },
            tempFile: {
                src: '.tmp'
            }
        },
        useminPrepare: {
            html: 'dist/**/*.html'
        },
        usemin: {
            html: 'dist/**/*.html'
        },
        imagemin: {
            public: {
                expand: true,
                cwd: './',
                src: 'img/**/*.{png,jpg,gif}',
                dest: 'dist/'
            }
        },
        jshint: {
            js: {
                src: ['js/**/*.js']
            }
        },
        watch: {
            js: {
                options: {
                    event: ['changed']
                },
                files: 'js/**/*.js',
                tasks: 'jshint:js'
            }
        },
        rev: {
            options: {
                encoding: 'utf8',
                algorithm: 'md5',
                length: 8
            },
            imagens: {
                src: ['dist/img/**/*.{png,jpg,gif}']
            },
            minificados: {
                src: ['dist/js/**/*.min.js', 'dist/css/**/*.min.css']
            }
        }

    });

    grunt.registerTask('dist', ['clean:dist', 'copy']);
    grunt.registerTask('minifica', ['useminPrepare', 'concat', 'uglify', 'cssmin', 'rev:imagens','rev:minificados', 'usemin', 'imagemin']);
    grunt.registerTask('cleanFilesNonMin', ['clean:cssNonMin', 'clean:jsNonMin']);
    grunt.registerTask('cleanTempFiles', ['clean:tempFile']);
    grunt.registerTask('default', ['dist', 'minifica', 'cleanFilesNonMin', 'cleanTempFiles']);

    grunt.loadNpmTasks('grunt-contrib-copy');
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-cssmin');
    grunt.loadNpmTasks('grunt-usemin'); 
    grunt.loadNpmTasks('grunt-contrib-imagemin');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-rev');


};

Obrigado

2 respostas

Pessoal já resolvi.

Não percebi que a task de otimização da imagem estava por último. Joguei ela para antes da tarefa de rev e funcionou aqui.

Abs

solução!

Excelente!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software