Gulp - Guia Rápido

O que é Gulp?

Gulp é um executor de tarefas que usa Node.js como plataforma. Gulp usa puramente o código JavaScript e ajuda a executar tarefas front-end e aplicativos da web em grande escala. Ele cria tarefas automatizadas de sistema, como CSS e minificação de HTML, concatenando arquivos de biblioteca e compilando os arquivos SASS. Essas tarefas podem ser executadas usando scripts Shell ou Bash na linha de comando.

Por que usar o Gulp?

  • É mais curto, mais simples e mais rápido em comparação com outro executor de tarefas.
  • Usa SASS e LESS como pré-processador CSS.
  • Atualiza a página automaticamente após editar os arquivos de origem.
  • Fácil de entender e construir o Gulpfile.js porque ele usa código JavaScript puro para construir a tarefa.

História

Toda a documentação do Gulp é coberta pela licença CC0. Inicialmente, Gulp v1.0.0 foi lançado em 15 de janeiro de 2015, e a versão atual do Gulp év3.9.0.

Características

  • Fornece minificação e concatenação.
  • Usa código JavaScript puro.
  • Converte LESS ou SASS para compilação CSS.
  • Gerencia a manipulação de arquivos na memória e aumenta a velocidade usando a plataforma Node.js.

Vantagens

  • Grande vantagem de velocidade sobre qualquer outro executor de tarefas
  • Fácil de codificar e entender.
  • Fácil de testar os aplicativos da web.
  • Os plug-ins são simples de usar e são projetados para fazer uma coisa de cada vez.
  • Executa tarefas repetitivas repetidamente, como minificar folhas de estilo, compactar imagens etc.

Desvantagens

  • Mais número de dependências e é um novato em comparação com Grunt.
  • Usando plug-ins Gulp, você não pode executar várias tarefas.
  • A configuração não é tão limpa quanto Grunt.

Este artigo fornece um procedimento passo a passo da instalação do Gulp.

Requisitos do sistema para Gulp

  • Operating System - Plataforma cruzada

  • Browser Support - IE (Internet Explorer 8+), Firefox, Google Chrome, Safari, Opera

Instalação de Gulp

Step 1- Precisamos do Node.js para rodar exemplos do Gulp. Para baixar o Node.js, abra ohttps://nodejs.org/en/, você verá uma tela conforme mostrado abaixo -

Baixe a versão mais recente dos recursos do arquivo zip.

Step 2- Em seguida, execute a configuração para instalar o NodeJs em seu computador.

Step 3 - Você precisa definir variáveis ​​de ambiente.

Variável de usuário do caminho

  • Clique com o botão direito em Meu Computador.
  • Selecione Propriedades.
  • Selecione a guia Avançado e clique em 'Variáveis ​​de ambiente'.
  • Na janela Variáveis ​​de ambiente, clique duas vezes no PATH conforme mostrado na tela a seguir.

  • Você obterá uma janela Editar variável do usuário, conforme mostrado na captura de tela a seguir. Adicione o caminho da pasta Node.js no campo Variable Value como C: \ Program Files \ nodejs \ node_modules \ npm. Se o caminho já estiver definido para outros arquivos, você precisará colocar um ponto-e-vírgula (;) depois disso e adicionar o caminho Node.js conforme mostrado na captura de tela a seguir.

No final, clique no botão 'Ok'.

System Variable

  • Em Variáveis ​​do sistema, clique duas vezes em Caminho conforme mostrado na tela a seguir.

  • Você obterá uma janela Editar Variável do Sistema, conforme mostrado na imagem a seguir. Adicione o caminho da pasta Node.js no campo Variable Value como C: \ Program Files \ nodejs \ e clique em 'Ok' conforme mostrado na captura de tela a seguir.

Step 4- Abra o prompt de comando em seu sistema e digite o seguinte comando. Ele exibirá a versão Node.js instalada.

node -v

Step 5- No prompt de comando, digite o seguinte comando para exibir a versão do npm (gerenciador de pacotes Node.js) que é usado para instalar os módulos. Ele exibirá a versão Node.js instalada.

npm -v

Step 6- No prompt de comando, digite o seguinte comando para instalar o Gulp. Adicionar o sinalizador “-g” garante que o Gulp esteja globalmente disponível para qualquer projeto.

npm install gulp -g

Step 7 - Para verificar se o Gulp foi instalado com sucesso, digite o seguinte comando para exibir a versão do Gulp.

gulp -v

Neste capítulo, você vai se familiarizar com alguns princípios básicos relacionados ao Gulp.

O que é um Build System?

Um Build System é conhecido como coleção de tarefas (chamadas coletivamente como task runners), que automatizam o trabalho repetitivo.

A seguir está uma lista de algumas das tarefas que podem ser realizadas usando o sistema de compilação -

  • Compilação de CSS e JavaScript de pré-processamento.
  • Minificação de arquivos para reduzir seu tamanho.
  • Concatenação de arquivos em um.
  • Acionando o servidor para recarregamento automático.
  • Criação de compilações de implantação para armazenar os arquivos resultantes em um local.

No fluxo de trabalho de front-end moderno, o sistema de construção funciona com 3 componentes -

  • Gerenciadores de pacotes
  • Preprocessors
  • Executores de tarefas e ferramentas de construção

Gestores de Pacotes

É usado para automatizar a atualização da instalação, remoção das dependências necessárias, limpar bibliotecas e pacotes usados ​​no ambiente de desenvolvimento. Exemplo para gerenciadores de pacotes sãobower e npm.

Pré-processadores

Os pré-processadores são muito úteis para um fluxo de trabalho moderno e eficiente, adicionando uma sintaxe otimizada e recursos adicionais que compilam em seu idioma nativo.

Alguns dos pré-processadores populares são -

  • CSS - SASS, LESS e Stylus.

  • JS - CoffeeScript, LiveScript, TypeScript, etc.

  • HTML - Markdown, HAML, Slim, Jade, etc.

Executores de tarefas

Os executores de tarefas automatizam tarefas como a conversão de SASS em CSS, reduzem os arquivos, otimizam imagens e muitas outras tarefas usadas no fluxo de trabalho de desenvolvimento. Gulp é um dos executores de tarefas no ambiente de trabalho front-end moderno e é executado no Node.

Configurando Seu Projeto

Para configurar seu projeto em seu computador, crie uma pasta chamada “trabalho” por exemplo. A pasta de trabalho contém as seguintes subpastas e arquivos -

  • Src - Localização de arquivos e pastas de origem HTML pré-processados.

    • Images - Contém imagens não compactadas.

    • Scripts - Contém vários arquivos de script pré-processados.

    • Styles - Contém vários arquivos CSS pré-processados.

  • Build - Esta pasta será criada automaticamente, contendo os arquivos de produção.

    • Images - Contém imagens compactadas.

    • Scripts - Arquivo de script único que contém códigos minificados.

    • Styles - Arquivo CSS único que contém códigos reduzidos.

  • gulpfile.js - É o arquivo de configuração, que é usado para definir nossas tarefas.

Nos capítulos anteriores, você estudou sobre a instalação do Gulp e os fundamentos do Gulp, que incluem o sistema de compilação do Gulp, gerenciador de pacotes, executor de tarefas, estrutura do Gulp, etc.

Neste capítulo, veremos o básico para o desenvolvimento de um aplicativo, que inclui o seguinte -

  • Declarando dependências necessárias
  • Criação de tarefa para as dependências
  • Executando a tarefa
  • Observando a tarefa

Declaração de Dependências

Ao instalar plug-ins para o aplicativo, você precisa especificar dependências para os plug-ins. As dependências são tratadas pelo gerenciador de pacotes, como bower e npm.

Vamos pegar um plugin chamado gulp-imageminpara definir dependências para ele no arquivo de configuração. Este plugin pode ser usado para compactar o arquivo de imagem e pode ser instalado usando a seguinte linha de comando -

npm install gulp-imagemin --save-dev

Você pode adicionar dependências ao seu arquivo de configuração, conforme mostrado no código a seguir.

var imagemin = require('gulp-imagemin');

A linha acima inclui o plug-in e está incluído como um objeto denominado imagemin.

Criação de tarefa para dependências

A tarefa permite uma abordagem modular para configurar o Gulp. Precisamos criar uma tarefa para cada dependência, que adicionaríamos à medida que localizássemos e instalássemos outros plug-ins. A tarefa Gulp terá a seguinte estrutura -

gulp.task('task-name', function() {
   //do stuff here
});

Onde 'task-name' é um nome de string e 'function ()' executa sua tarefa. O 'gulp.task' registra a função como uma tarefa dentro do nome e especifica as dependências de outras tarefas.

Você pode criar a tarefa para a dependência definida acima, conforme mostrado no código a seguir.

gulp.task('imagemin', function() {
   var img_src = 'src/images/**/*', img_dest = 'build/images';

   gulp.src(img_src)
   .pipe(changed(img_dest))
   .pipe(imagemin())
   .pipe(gulp.dest(img_dest));
});

As imagens estão localizadas em src/images/**/*que é salvo no img_srcobject. É canalizado para outra função criada pelo construtor imagemin. Ele compacta as imagens da pasta src e copia para a pasta build chamandodest método com um argumento, que representa o diretório de destino.

Executando a Tarefa

O arquivo Gulp está configurado e pronto para ser executado. Use o seguinte comando no diretório do seu projeto para executar a tarefa -

gulp imagemin

Ao executar a tarefa usando o comando acima, você verá o seguinte resultado no prompt de comando -

C:\work>gulp imagemin
[16:59:09] Using gulpfile C:\work\gulpfile.js
[16:59:09] Starting 'imagemin'...
[16:59:09] Finished 'imagemin' after 19 ms
[16:59:09] gulp-imagemin: Minified 2 images (saved 80.81 kB - 16.9%)

A tarefa permite uma abordagem modular para configurar o Gulp. Precisamos criar tarefas para cada dependência, que adicionaríamos à medida que localizamos e instalamos outros plug-ins. A tarefa Gulp terá a seguinte estrutura -

gulp.task('task-name', function() {
   //do stuff here
});

Onde “task-name” é um nome de string e “function ()” executa sua tarefa. O “gulp.task” registra a função como uma tarefa dentro do nome e especifica as dependências de outras tarefas.

Instalando Plugins

Vamos pegar um plugin chamado minify-csspara mesclar e reduzir todos os scripts CSS. Ele pode ser instalado usando npm conforme mostrado no seguinte comando -

npm install gulp-minify-css --save-dev

Para trabalhar com o “plugin gulp-minify-css”, você precisa instalar outro plugin chamado “gulp-autoprefixer” conforme mostrado no seguinte comando -

npm install gulp-autoprefixer --save-dev

Para concatenar os arquivos CSS, instale o gulp-concat conforme mostrado no comando a seguir -

npm install gulp-concat --save-dev

Após a instalação dos plug-ins, você precisa escrever dependências em seu arquivo de configuração da seguinte maneira -

var autoprefix = require('gulp-autoprefixer');
var minifyCSS = require('gulp-minify-css');
var concat = require('gulp-concat');

Adicionando Tarefa ao arquivo Gulp

Precisamos criar tarefas para cada dependência, que adicionaríamos à medida que instalamos os plug-ins. A tarefa Gulp terá a seguinte estrutura -

gulp.task('styles', function() {
   gulp.src(['src/styles/*.css'])
   .pipe(concat('styles.css'))
   .pipe(autoprefix('last 2 versions'))
   .pipe(minifyCSS())
   .pipe(gulp.dest('build/styles/'));
});

O plugin 'concat' concatena os arquivos CSS e o plugin 'autoprefix' indica a versão atual e a anterior de todos os navegadores. Ele minimiza todos os scripts CSS da pasta src e copia para a pasta build chamando o método 'dest' com um argumento, que representa o diretório de destino.

Para executar a tarefa, use o seguinte comando no diretório do seu projeto -

gulp styles

Da mesma forma, usaremos outro plugin chamado 'gulp-imagemin' para compactar o arquivo de imagem, que pode ser instalado usando o seguinte comando -

npm install gulp-imagemin --save-dev

Você pode adicionar dependências ao seu arquivo de configuração usando o seguinte comando -

var imagemin = require('gulp-imagemin');

Você pode criar a tarefa para a dependência definida acima, conforme mostrado no código a seguir.

gulp.task('imagemin', function() {
   var img_src = 'src/images/**/*', img_dest = 'build/images';
   
   gulp.src(img_src)
   .pipe(changed(img_dest))
   .pipe(imagemin())
   .pipe(gulp.dest(img_dest));
});

As imagens estão localizadas em “src / images / ** / *” que são salvas no objeto img_sr. É canalizado para outras funções criadas pelo construtor 'imagemin'. Ele compacta as imagens da pasta src e as copia para a pasta build chamando o método 'dest' com um argumento, que representa o diretório de destino.

Para executar a tarefa, use o seguinte comando no diretório do seu projeto -

gulp imagemin

Combinando Múltiplas Tarefas

Você pode executar várias tarefas ao mesmo tempo criando uma tarefa padrão no arquivo de configuração, conforme mostrado no código a seguir -

gulp.task('default', ['imagemin', 'styles'], function() {

});

O arquivo Gulp está configurado e pronto para ser executado. Execute o seguinte comando no diretório do seu projeto para executar as tarefas combinadas acima -

gulp

Ao executar a tarefa usando o comando acima, você obterá o seguinte resultado no prompt de comando -

C:\work>gulp
[16:08:51] Using gulpfile C:\work\gulpfile.js
[16:08:51] Starting 'imagemin'...
[16:08:51] Finished 'imagemin' after 20 ms
[16:08:51] Starting 'styles'...
[16:08:51] Finished 'styles' after 13 ms
[16:08:51] Starting 'default'...
[16:08:51] Finished 'default' after 6.13 ms
[16:08:51] gulp-imagemin: Minified 0 images

O método Watch é usado para monitorar seus arquivos de origem. Quando qualquer alteração no arquivo de origem for feita, o relógio executará uma tarefa apropriada. Você pode usar a tarefa 'padrão' para observar as alterações nos arquivos HTML, CSS e JavaScript.

Atualizar Tarefa Padrão

No capítulo anterior, você aprendeu como engolir tarefas combinadas usando a tarefa padrão. Usamos gulp-minify-css, gulp-autoprefixer e gulp-concatplugins, e criamos tarefas de estilos para reduzir arquivos CSS.

Para assistir ao arquivo CSS, precisamos atualizar a tarefa 'padrão' conforme mostrado no seguinte código:

gulp.task('default', ['styles'], function() {
   // watch for CSS changes
   gulp.watch('src/styles/*.css', function() {
      // run styles upon changes
      gulp.run('styles');
   });
});

Todos os arquivos CSS em work/src/styles/ pasta será monitorada e após as alterações feitas nesses arquivos, a tarefa de estilos será executada.

Executar Tarefa Padrão

Execute a tarefa 'padrão' usando o seguinte comando.

gulp

Depois de executar o comando acima, você receberá a seguinte saída.

C:\work>gulp
[17:11:28] Using gulpfile C:\work\gulpfile.js
[17:11:28] Starting 'styles'...
[17:11:28] Finished 'styles' after 22 ms
[17:11:28] Starting 'default'...
[17:11:28] Finished 'default' after 21 ms

Sempre que qualquer alteração for feita nos arquivos CSS, você receberá a seguinte saída.

C:\work>gulp
[17:11:28] Using gulpfile C:\work\gulpfile.js
[17:11:28] Starting 'styles'...
[17:11:28] Finished 'styles' after 22 ms
[17:11:28] Starting 'default'...
[17:11:28] Finished 'default' after 21 ms
gulp.run() has been deprecated. Use task dependencies or gulp.watch task 
   triggering instead.
[17:18:46] Starting 'styles'...
[17:18:46] Finished 'styles' after 5.1 ms

O processo de observação permanecerá ativo e responderá às suas alterações. Você pode pressionarCtrl+Cpara encerrar o processo de monitoramento e retornar à linha de comando.

O Live Reload especifica as mudanças no sistema de arquivos. BrowserSyncé usado para observar todos os arquivos HTML e CSS no diretório CSS e realizar o recarregamento ao vivo para a página em todos os navegadores, sempre que os arquivos são alterados. O BrowserSync torna o fluxo de trabalho mais rápido sincronizando URLs, interações e alterações de código em vários dispositivos.

Instalando o Plugin BrowserSync

O plug-in BrowserSync fornece injeção CSS em navegadores diferentes e pode ser instalado usando o seguinte comando.

npm install browser-sync --save-dev

Configurando o Plug-in BrowserSync

Para usar o plug-in BrowserSync, você precisa escrever a dependência em seu arquivo de configuração, conforme mostrado no comando a seguir.

var browserSync = require('browser-sync').create();

Você precisa criar uma tarefa para o BrowserSync funcionar com o servidor usando o Gulp. Como você está executando o servidor, será necessário informar ao BrowserSync sobre a raiz do seu servidor. Aqui, estamos usando o diretório base como 'build'.

gulp.task('browserSync', function() {
   browserSync.init({
      server: {
         baseDir: 'build'
      },
   })
})

Você também pode injetar novos estilos no navegador usando a seguinte tarefa para o arquivo CSS.

gulp.task('styles', function() {
   
   gulp.src(['src/styles/*.css'])
   .pipe(concat('style.css'))
   .pipe(autoprefix('last 2 versions'))
   .pipe(minifyCSS())
   .pipe(gulp.dest('build/styles/'))
   .pipe(browserSync.reload({
      stream: true
   }))
});

Antes de criar uma tarefa para o BrowserSync, você precisa instalar os plug-ins usando o gerenciador de pacotes e escrever dependências em seu arquivo de configuração, conforme definido neste capítulo .

Quando terminar a configuração, execute o BrowserSync e watchTask para a ocorrência do efeito de recarregamento ao vivo. Em vez de executar duas linhas de comando separadamente, iremos executá-las juntas adicionando browserSynctask junto com watchTask, conforme mostrado no código a seguir.

gulp.task('default', ['browserSync', 'styles'], function (){
   gulp.watch('src/styles/*.css', ['styles']);
});

Execute o seguinte comando no diretório do projeto para executar as tarefas combinadas acima.

gulp

Depois de executar a tarefa usando o comando acima, você obterá o seguinte resultado no prompt de comando.

C:\project>gulp
[13:01:39] Using gulpfile C:\project\gulpfile.js
[13:01:39] Starting 'browserSync'...
[13:01:39] Finished 'browserSync' after 20 ms
[13:01:39] Starting 'styles'...
[13:01:39] Finished 'styles' after 21 ms
[13:01:39] Starting 'default'...
[13:01:39] Finished 'default' after 15 ms
[BS] 1 file changed (style.css)
[BS] Access URLs:
 ------------------------------------
       Local: http://localhost:3000
    External: http://192.168.1.4:3000
 ------------------------------------
          UI: http://localhost:3001
 UI External: http://192.168.1.4:3001
 ------------------------------------
[BS] Serving files from: build

Irá abrir a janela do navegador com o URL http://localhost:3000/. Todas as alterações feitas no arquivo CSS serão refletidas no prompt de comando e o navegador será recarregado automaticamente com os estilos alterados.

Neste capítulo, você aprenderá como otimizar CSS e JavaScript. A otimização é necessária para remover dados desnecessários (por exemplo, espaços e caracteres não utilizados) dos arquivos de origem. Reduz o tamanho dos arquivos e permite que carreguem mais rápido

Instale plug-ins para otimizar CSS e JavaScript

Vá para o diretório “work” da sua linha de comando e instale os plug-ins “gulp-uglify”, “gulp-minify-css” e “gulp-concat” usando o seguinte comando -

npm install gulp-uglify gulp-minify-css gulp-concat

Declare dependências e crie tarefas

Em seu arquivo de configuração gulpfile.js, primeiro declare as dependências conforme mostrado no código a seguir.

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var minify = require('gulp-minify-css');

Em seguida, você precisa criar tarefas para otimizar CSS e JavaScript, conforme mostrado no código a seguir.

gulp.task('js', function(){
   gulp.src('src/scripts/*.js')
   .pipe(concat('script.js'))
   .pipe(uglify())
   .pipe(gulp.dest('build/scripts/'));
});

gulp.task('css', function(){
   gulp.src('src/styles/*.css')
   .pipe(concat('styles.css'))
   .pipe(minify())
   .pipe(gulp.dest('build/styles/'));
});

gulp.task('default',['js','css'],function(){
});

o js tarefa aceitará .js arquivos de src/scripts/pasta. Ele concatena e feia ojs arquivos, então produz build/scripts/script.js Arquivo.

o CSS tarefa aceitará .css arquivos de src/styles/pasta. Ele concatena e minimizaCSS arquivos, então produz build/styles/styles.css Arquivo.

Execute as tarefas

O arquivo de configuração está configurado e pronto para ser executado. Use o seguinte comando para executar a tarefa.

gulp

Ao executar a tarefa usando o comando acima, você receberá o seguinte resultado no prompt de comando.

C:\work>gulp
[13:16:34] Using gulpfile C:\work\gulpfile.js
[13:16:34] Starting 'js'...
[13:16:34] Finished 'js' after 24 ms
[13:16:34] Starting 'css'...
[13:16:34] Finished 'css' after 6.05 ms
[13:16:34] Starting 'default'...
[13:16:34] Finished 'default' after 5.04 μs

Neste capítulo, você aprenderá como otimizar imagens. A otimização reduzirá o tamanho das imagens e ajudará no carregamento mais rápido.

Instale plug-ins para otimizar imagens

Vá para o diretório “work” da linha de comando e instale os plug-ins “gulp-changed” e “gulp-imagemin” usando os seguintes comandos.

npm install gulp-changed --save-dev
npm install gulp-imagemin --save-dev

Declare dependências e crie tarefas

Em seu arquivo de configuração gulpfile.js, primeiro declare as dependências conforme mostrado no comando a seguir.

var gulp = require('gulp');
var changed = require('gulp-changed');
var imagemin = require('gulp-imagemin');

Em seguida, você precisa criar tarefas para otimizar imagens, conforme mostrado no código a seguir.

gulp.task('imagemin', function() {
   var imgSrc = 'src/images/*.+(png|jpg|gif)',
   imgDst = 'build/images';
   
   gulp.src(imgSrc)
   .pipe(changed(imgDst))
   .pipe(imagemin())
   .pipe(gulp.dest(imgDst));
});

gulp.task('default',['imagemin'],function(){
});

o imagemina tarefa aceitará imagens png, jpg e gif de src / images / pasta e as reduzirá antes de gravá-las no destino. ochanged()garante que apenas os novos arquivos sejam passados ​​a cada vez para a minimização. O plugin gulp-alterado irá apenas processar os novos arquivos e, portanto, utilizar um tempo precioso.

Execute as tarefas

O arquivo de configuração está configurado e pronto para ser executado. Use o seguinte comando para executar a tarefa.

gulp

Ao executar a tarefa usando o comando acima, você receberá o seguinte resultado no prompt de comando.

C:\work>gulp
[15:55:49] Using gulpfile C:\work\gulpfile.js
[15:55:49] Starting 'imagemin'...
[15:55:49] Finished 'imagemin' after 23 ms
[15:55:49] Starting 'default'...
[15:55:49] Finished 'default' after 23 μs
[15:55:54] gulp-imagemin: Minified 1 images (saved 558.3 kB - 8.3%)

Gulp fornece alguns plug-ins úteis para trabalhar com HTML e CSS, JavaScript, gráficos e algumas outras coisas, conforme descrito nas tabelas a seguir.

Plug-ins HTML e CSS

Sr. Não. Plugin e descrição
1 autoprefixer

Inclui automaticamente prefixos para propriedades CSS.

2 gulp-browser-sync

É usado para assistir todos os arquivos HTML e CSS no diretório CSS e executa o recarregamento ao vivo para a página em todos os navegadores, sempre que os arquivos são alterados

3 gulp-useref

É usado para substituir referências a scripts ou folhas de estilo não otimizados.

4 gulp-email-design

Ele cria modelos de e-mail HTML que convertem estilos CSS em embutidos.

5 gulp-uncss

Otimiza arquivos CSS e encontra estilos não utilizados e duplicados.

6 gulp-csso

É um otimizador CSS, que minimiza os arquivos CSS, resultando em um tamanho de arquivo menor.

7 gulp-htmlmin

Ele minimiza os arquivos HTML.

8 gulp-csscomb

É usado para fazer o formatador de estilo para CSS.

9 gulp-csslint

Ele especifica um linter CSS.

10 gulp-htmlhint

Ele especifica um validador HTML.

Plugins JavaScript

Sr. Não. Plugin e descrição
1 gulp-autopolyfiller

É o mesmo que autoprefixer, que inclui polyfills necessários para JavaScript.

2 gulp-jsfmt

É usado para pesquisar trechos de código específicos.

3 gulp-jscs

É usado para verificar o estilo do código JavaScript.

4 gulp-modernizr

Ele especifica quais recursos HTML, CSS e JavaScript o navegador do usuário tem a oferecer.

5 gulp-express

Ele inicia o servidor da web gulp express.js.

6 gulp-requirejs

Ele usa require.js para combinar módulos AMD require.js em um arquivo.

7 gulp-plato

Ele gera relatórios de análise de complexidade.

8 gulp-complexity

Ele analisa a complexidade e a capacidade de manutenção do código.

9 fixmyjs

Ele corrige os resultados JSHint.

10 gulp-jscpd

É usado como detector de copiar / colar para o código-fonte.

11 gulp-jsonlint

É um validador JSON.

12 gulp-uglify

Ele minimiza os arquivos JavaScript.

13 gulp-concat

Ele concatena os arquivos CSS.

Plugins de testes de unidade

Sr. Não. Plugin e descrição
1 gulp-nodeunit

Ele executa testes de unidade de nó do Gulp.

2 gulp-jasmine

É usado para relatar os problemas relacionados à saída.

3 gulp-qunit

Ele fornece saída de console básica para testes QUnit e usa o módulo de nó PhantomJS e o plugin QUnit de execução PhantomJS.

4 gulp-mocha

Ele especifica o envoltório fino em torno do Mocha e executa os testes do Mocha.

5 gulp-karma

Foi descontinuado no Gulp.

Plugins gráficos

Sr. Não. Plugin e descrição
1 gulpicon

Ele gera sprites de SVG e os converte em PNG.

2 gulp-iconfont

É usado com fontes da web para criar arquivos WOFF, EOT, TTF a partir de SVG.

3 gulp-imacss

Ele transforma arquivos de imagem em URIs de dados e os coloca em um único arquivo CSS.

4 gulp-responsive

Ele gera imagens responsivas para diferentes dispositivos

5 gulp-sharp

É usado para alterar e redimensionar a orientação e o fundo da imagem.

6 gulp-svgstore

Ele combina arquivos SVG em um com elementos <symbol>.

7 gulp-imagemin & gulp-tinypng

Ele é usado para compactar imagens como PNG, JPEG, GIF, SVG.

8 gulp-spritesmith

Ele é usado para criar spritesheet a partir de um conjunto de imagens e variáveis ​​CSS.

Plugins Compiladores

Sr. Não. Plugin e descrição
1 gulp-less

Ele fornece um plugin LESS para Gulp.

2 gulp-sass

Ele fornece o plugin SASS para Gulp.

3 gulp-compass

Ele fornece um plugin de bússola para Gulp.

4 gulp-stylus

É usado para manter a caneta em CSS.

5 gulp-coffee

Ele fornece o plugin coffeescript para o Gulp.

6 gulp-handlebars

Ele fornece um plugin de guiador para Gulp.

7 gulp-jst

Ele fornece modelos de sublinhado em JST.

8 gulp-react

Ele especifica os modelos JSX do Facebook React em JavaScript.

9 gulp-nunjucks

Ele especifica modelos Nunjucks em JST.

10 gulp-dustjs

Ele especifica modelos de poeira em JST.

11 gulp-angular-templatecache

Ele especifica modelos AngularJS no templateCache.

Outros Plugins

O plugin gulp-clean remove arquivos e pastas e o plugin gulp-copy copia os arquivos da origem para o novo destino.

Sr. Não. Plugin e descrição
1 gulp-grunt

Ele executa as tarefas do Grunt do Gulp

2 gulp-watch

Ele observa os arquivos sempre que alterações são feitas.

3 gulp-notify

Ele notifica a mensagem de erro sempre que uma tarefa falha.

4 gulp-git

Ele permite usar comandos Git.

5 gulp-jsdoc

Ele cria documentação JavaScript para Gulp.

6 gulp-rev

Ele fornece revisão de ativos estáticos para nomes de arquivos.

7 gulp-bump

Aumenta as versões do pacote JSON.

8 gulp-bower-files

É usado para injetar pacotes de caramanchão.

9 gulp-removelogs

Ele remove as instruções console.log.

10 gulp-preprocess

Ele pré-processa HTML, JavaScript e outros arquivos com base no contexto ou na configuração do ambiente.

11 gulp-duration

Ele especifica a duração das tarefas Gulp.

12 gulp-changed & gulp-newer

Ele executa os arquivos modificados e os arquivos mais recentes.

13 gulp-connect

Ele é usado para executar um servidor da web com LiveReload.

14 gulp-shell

Ele executa comandos Shell.

15 gulp-ssh

Ele se conecta usando tarefas SSH e SFTP.

16 gulp-zip

Ele compacta os arquivos e pastas.

17 gulp-clean & gulp-copy
18 gulp-filesize

Ele especifica o tamanho do arquivo em formato legível por humanos.

19 gulp-util

Ele fornece utilitários para plug-ins gulp.

Neste capítulo, você aprenderá como limpar os arquivos gerados. Como estamos gerando os arquivos automaticamente, certifique-se de que os arquivos desnecessários sejam excluídos antes de executar sua construção. Este procedimento é chamadocleaning. odel plugin pode ser usado para este propósito.

Instalando del Plugins

Em sua linha de comando, instale o plugin digitando o seguinte comando.

npm install del --save-dev

Declare dependências e crie tarefas

Em seu arquivo de configuração gulpfile.js, declare as dependências conforme mostrado no comando a seguir.

var del = require('del');

Em seguida, crie uma tarefa conforme mostrado no código a seguir.

gulp.task('clean:build', function() {
   return del.sync('build');
});

A tarefa acima limpará todo o build. A tarefa de limpeza limpa qualquer captura de imagem e remove todos os arquivos antigos presentes na construção.

É possível limpar apenas um arquivo ou pasta específica e deixar alguns deles intactos, conforme ilustrado no código a seguir.

gulp.task('clean:build', function() {
   //return del.sync('build');
   return del([
      'build/temp/',
      // instructs to clean temp folder
      '!build/package.json'
      // negate to instruct not to clean package.json file ]);
});

Na tarefa acima, apenas o temp a pasta será limpa saindo package.json intocado.