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

Problemas com a task Server Aula 07

Estou com um problema , quando rodo a task server minha task less não gera o arquivo css porem quando rodo somente a task watch ele gera, isso já ocorreu com alguem ?

mensagem que aparece [BS] File changed: public\assets\less\main.less

grunt.registerTask('server', ["browserSync", "watch"]);

7 respostas

Estranho mesmo. Coloca o gruntfile aqui pra gente ver?

"use strict";

module.exports = function (grunt) {

    grunt.initConfig({
        /* Copia o arquido de public para o dist*/
        copy: {
            public: {
                expand: true,
                cwd: 'public',
                src: '**',
                dest: 'dist'
            }
        },
        /*Limpa sempre o arquivo dist para ser gerado uma nova versão*/
        clean: {
            dist: {
                src: 'dist'
            }
        },
        /*Prepara o local de copia*/
        useminPrepare: {
            html: 'dist/**/*.html'
        },
        usemin: {
            html: 'dist/**/*.html'
        },
        //gera um arquivo css apartir do comando less e da extensão less
        less: {
            compilar: {
                expand: true,
                cwd: 'public/assets/less',
                src: ['**/*.less'],
                dest: 'public/assets/css',
                ext: '.css'
            }
        },
        /* Gera uma versão do ultimo arquivo modificado css ou js*/
        rev: {
            options: {
                encoding: 'utf8',
                algorithm: 'md5',
                length: 8
            },
            minificados: {
                src: ['dist/assets/js/**/*.min.js', 'dist/assets/css/**/*.min.css']
            }
        },
        // Comando que  automatiza alguams configurações
        watch: {
            less: {
                options: {
                    event: ['added', 'changed']
                },
                files: ['public/assets/less/**/*.less'],
                tasks: ['less:compilar']
            },
            js: {
                options: {
                    event: ['added', 'changed']
                },
                files: 'public/assets/js/**/*.js',
                tasks: 'jshint:js'
            }
        },
        //serve para verificar se contem  erros no codigo js
        jshint: {
            js: {
                src: ['public/assets/js/**/*.js']
            }
        },
        //Atualiza automaticamente
        browserSync: {
            public: {
                bsFiles: {
                    watchTask: true,
                    src: ['public/**/*']
                },
                options: {
                    server: {
                        baseDir: "public"
                    },
                    port:'3000',
                    browser: "chrome"
                }
            }
        }

    });

    grunt.registerTask('dist', ['clean', 'copy']);
    grunt.registerTask('server', ['browserSync', 'watch']);
    grunt.registerTask('minifica', ['useminPrepare',
        'concat', 'uglify', 'cssmin', 'rev:imagens', 'rev:minificados', 'usemin', 'imagemin']);



    // registrando tasks
    grunt.registerTask('default', ['dist', 'minifica']);

    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-rev');   
    grunt.loadNpmTasks('grunt-contrib-less');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-browser-sync');

};

Alan, vi sua mensagem. Assim que chegar eu faço um teste.

Qual número de versão do browsersync aparece no seu package.json?

a versão que esta é esta >>"grunt-browser-sync": "^2.0.0",

solução!

Olá Alan, encontrei uma pequena confusão no seu Gruntfile.js. O atributo watchTask: true deve ser de options e não de bsFiles. Acontece :)

Legal, vi que você usou "use strict" no início do arquivo para que não seja possível adicionar propriedades repetidas nos objetos entre outras coisas. Excelente!

Se eu consegui resolver seu problema, please, não deixe de marcar minha reposta como solução e fechar a discussão. Se precisar de mais alguma esclarecimento, estamos aqui para ajudá-lo!

Está gostando do treinamento?

Abraço!

poxa eu olhei a documentação e não tinha achado o erro, mas era isso mesmo muito obrigado. Gostei sim, estou ate usando no projeto em que estou fazendo e ate aprendi novas coisas como o grunt-contrib-ftpush

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