automacao-grunt



automacao-grunt

0 2


automacao-grunt

Automação de Tarefas com Grunt, uma apresentação por Hugo Bessa

On Github hugobessaa / automacao-grunt

Automação de Tarefas com Grunt

Hugo Bessa

Front-end na Mkt Virtual

@hugobessaa

github.com/hugobessaa

Tarefas demais

Minificar, concatenar, pré-processadores, otimizar, copiar, validar, testes unitários, servidor, deploy…

Não sobra mais tempo pra parte legal :(

Aplicar boas práticas de UI

Testes de experiência de usuário

Ajustes de performance no código

Build Script

Ant

<target name="js.minify" depends="js.preprocess">
    <apply executable="java" parallel="false">
        <fileset dir="." includes="foo.js, bar.js"/>
        <arg line="-jar"/>
        <arg path="yuicompressor.jar"/>
        <srcfile/>
        <arg line="-o"/>
        <mapper type="glob" from="*.js" to="*-min.js"/>
        <targetfile/>
    </apply>
</target>

Ben Alman desenvolveu o Grunt

Baseado no NodeJS

JavaScript, meus amigos

Grunt

'use-strict';
module.exports = function(grunt) {
    grunt.initConfig({
        task: {
            files: ['bom-framework.css', '!bootstrap.css']
        }
    });
};
'use-strict';
module.exports = function(grunt) {
    grunt.initConfig({
        coffee: {
            options: {
                bare: true
            },
            all: {
                expand: true,
                cwd: 'assets/coffee',
                src: '**/*.coffee',
                dest: 'assets/js',
                ext: '.js'
            }
        }
    });

    grunt.loadNpmTasks( 'grunt-contrib-coffee' );
};

watch

watch: {
    main: {
        files: [ 'js/reveal.js', 'css/reveal.css' ],
        tasks: 'default'
    }
}

sass

sass: {
    dist: {
        files: {
            'main.css': 'main.scss'
        }
    }
}

coffee

coffee: {
    compile: {
        files: {
        'path/to/result.js': 'path/to/source.coffee'
    }
}

jQuery

Modernizr

Bootstrap

Adobe

Twitter

WordPress

Instale o NodeJS e depois rode:

$ sudo npm install -g grunt-cli

Você vai precisar de um package.json

{
    "name": "Automação de Tarefas com Grunt",
    "description": "Uma apresentação",
    "devDependencies": {
        "grunt": "~0.4.2"
    }
}

…e também de plugins

$ npm install grunt-contrib-coffee --save-dev
$ npm install grunt-contrib-sass --save-dev
$ npm install grunt-contrib-watch --save-dev

Carregue suas tarefas

grunt.loadNpmTasks( 'grunt-contrib-coffee' );
grunt.loadNpmTasks( 'grunt-contrib-sass' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );

Demo

?

http://hugobessaa.github.io/automacao-grunt/

Links

Site do Grunt

Grunt Brasil

Gruntfile da Mkt Virtual

Automatizando tarefas JS com Grunt

Giphy

e

jglovier/gifs