Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Como otimizar seu projeto com Gulp

Como otimizar seu projeto com Gulp

Simples apresentação de como criar tasks para desenvolvimento e produção.

Palloi Hofmann

August 23, 2016
Tweet

More Decks by Palloi Hofmann

Other Decks in Programming

Transcript

  1. Boas práticas com HTML - CSS - JavaScript 1° Coffe

    Break by
 Locaweb http://bit.ly/2blxO82
  2. <html lang="pt-br"> http://www.w3c.br/ O atributo LANG é necessário para que

    os user-agents saibam qual a linguagem principal do documento.
  3. HEAD Registrando a inteligência da sua página. Metadados UTF-8 Sua

    página com inteligência e elegância. <meta charset="UTF-8">
  4. Open Graph - Facebook 1. <meta property="og:title" content=“Titulo da página"

    /> 2. <meta property="og:locale" content="pt_BR" /> 3. <meta property="og:type" content="website" /> 4. <meta property="og:keywords" content=“html5, css3, javascript, sublime” /> 5. <meta property="og:description" content=“Descrição da página sobre html…” /> 6. <meta property="og:url" content=“http://palloi.com.br“ /> 7. <meta property="og:image" content=“http://palloi.com.br/fotodopalloi.jpg“ /> 8. <meta property="og:image:type" content="image/jpeg"> 9. <meta property="og:image:width" content="500"> 10.<meta property="og:image:height" content="300"> http://ogp.me/
  5. Header Nav Icon List Gallery Form Modal Tabs Alert Button

    Collapse Datepicker O site em módulos
  6. Componente de Alerta <div class=“ls-alert-success"></div> <div class="ls-alert-info"></div> <div class="ls-alert-warning"></div> <div

    class="ls-alert-danger"></div> [class*="ls-alert-"] { padding: 15px; margin-bottom: 20px; border-style: solid; border-width: 1px; border-radius: 5px; font-size: 14px; } .ls-alert-success { color: #388f39; border-color: #7db67e; background-color: #d7e8d7; }
  7. <script type="text/javascript" src=“javascripts/jquery-2.1.4.min.js”></script> <script type="text/javascript" src=“javascripts/jquery-ui.min.js"></script> <script type="text/javascript" src=“javascripts/jquery-validate.min.js”></script> <script

    type="text/javascript" src=“javascripts/jquery-mask.min.js"></script> <script type="text/javascript" src=“javascripts/jquery-twitter.min.js"></script> <script type="text/javascript" src=“javascripts/jquery-para-todos.min.js"></script> <script type="text/javascript" src="javascripts/lw-modal.js"></script> <script type="text/javascript" src="javascripts/lw-gallery.js"></script> <script type="text/javascript" src="javascripts/lw-tab.js"></script> <script type="text/javascript" src="javascripts/lw-nav.js"></script> <script type="text/javascript" src="javascripts/lw-site.js"></script> Não está errado
  8. Primeiros comandos 1. npm init 2. npm install --global bower

    3. npm install --save-dev bower 4. bower init
  9. Primeiros comandos 1. npm install --global gulp-cli 2. npm install

    --save-dev gulp 3. Criar na raiz da aplicação o arquivo
 `gulpfile.js`

  10. API do gulp 1. task - Define uma tarefa. 2.

    src - representa uma estrutura
 de arquivo ou diretório.

  11. API do gulp 1. task - Define uma tarefa. 2.

    src - representa uma estrutura
 de arquivo ou diretório. 3. pipe - para transmissão de dados.
 A saída do processo anterior torna-se
 a entrada para o próximo processo.
  12. API do gulp 1. task - Define uma tarefa. 2.

    src - representa uma estrutura
 de arquivo ou diretório. 3. pipe - para transmissão de dados.
 A saída do processo anterior torna-se
 a entrada para o próximo processo. 4. dest - Grava os arquivos no diretório
 desejado.
  13. 1. task - Define uma tarefa. 2. src - representa

    uma estrutura
 de arquivo ou diretório. 3. pipe - para transmissão de dados.
 A saída do processo anterior torna-se
 a entrada para o próximo processo. 4. dest - Grava os arquivos no diretório
 desejado. 5. watch - Observa os arquivos e executa
 algo quando um arquivo for alterado.
 API do gulp
  14. Instalando as dependências 1. bower install zepto --save 2. bower

    install bourbon --save 3. npm install gulp-sass --save-dev 4. npm install gulp-concat --save-dev 5. npm install gulp-minify --save-dev 6. npm install gulp-minify-css --save-dev 7. npm install gulp-rename --save-dev 8. npm install gulp-watch --save-dev 9. npm install gulp-imagemin --save-dev 10. npm install node-bourbon --save-dev http://bourbon.io/ http://zeptojs.com/ http://gulpjs.com/plugins/ https://bower.io/search/
  15. Configurando o gulpfile.js var gulp = require('gulp'); var sass =

    require(‘gulp-sass'); var minify = require('gulp-minify'); var minifyCss = require('gulp-minify-css'); var rename = require('gulp-rename'); var concat = require('gulp-concat'); var watch = require(‘gulp-watch'); var imagemin = require('gulp-imagemin'); Dependências: http://gulpjs.com/plugins/
  16. var stylesheets = { files: [“./bower_components/**/*.scss", "./source/assets/stylesheets/**/*.sass"], dest: './source/assets/stylesheets/', build:

    './../blog/wp-content/themes/culturainglesa/assets/stylesheets/' }; Diretórios: Configurando o gulpfile.js
  17. var stylesheets = { files: [“./bower_components/**/*.scss", "./source/assets/stylesheets/**/*.sass"], dest: './source/assets/stylesheets/', build:

    './../blog/wp-content/themes/culturainglesa/assets/stylesheets/' }; var javascripts = { files: [ “./bower_components/**/*.min.js", "./source/assets/javascripts/blog-cultura.js"], dest: './source/assets/javascripts/', build: './../blog/wp-content/themes/culturainglesa/assets/javascripts/' }; Diretórios: Configurando o gulpfile.js
  18. var stylesheets = { files: [“./bower_components/**/*.scss", "./source/assets/stylesheets/**/*.sass"], dest: './source/assets/stylesheets/', build:

    './../blog/wp-content/themes/culturainglesa/assets/stylesheets/' }; var javascripts = { files: [ “./bower_components/**/*.min.js", "./source/assets/javascripts/blog-cultura.js"], dest: './source/assets/javascripts/', build: './../blog/wp-content/themes/culturainglesa/assets/javascripts/' };
 
 var images = { files: [“./source/assets/images/**/*”], dest: ‘./source/assets/images/min/‘, build: ‘./../blog/wp-content/themes/culturainglesa/assets/images/min/‘ }; Diretórios: Configurando o gulpfile.js
  19. Configurando o gulpfile.js gulp.task('sass', function() { return gulp.src(stylesheets.files) .pipe(sass({ includePaths:

    require('node-bourbon').includePaths }).on('error', sass.logError)) .pipe(gulp.dest(stylesheets.dest)); }); Task para CSS:
  20. Pronto, agora é só rodar gulp default ou gulp No

    terminal, executar sua task default:
  21. Em produção gulp.task('sassbuild', function() { return gulp.src(stylesheets.files) .pipe(sass({ includePaths: require('node-bourbon').includePaths

    }).on('error', sass.logError)) .pipe(minifyCss()) .pipe(rename({suffix: '.min'})) .pipe(gulp.dest(stylesheets.build)); }); Task para CSS:
  22. gulp.task('build', ['javascriptbuild', ‘sassbuild’, ‘imagesbuild’]); Task build para executar as modificações

    finais: Em produção Pronto, agora é gerar o build no terminal: gulp build