Utilizando o Gulp para facilitar seu desenvolvimento front-end
Olá!
No último artigo eu falei sobre o live-reload, que ficava "escultando" uma pasta e atualizava o seu navegador padrão quando salvasse algo na pasta que ele tiver rodando, com isso comecei a utilizar SASS através do SCSS, pois é com o CSS normal, depois precisei automatizar essa tarefa de compilação do SCSS para CSS e achei o GRUNT e o GULP, eles são task runners, ou seja, eles executam uma ou várias ações para ti, chamadas de "Task" de forma automatizada através de um comando seu.
Depois te tudo isso escolhi o Gulp e ele pede um arquivo de configuração chamado de gulpfile.js, o que estou usando atualmente é esse:
Vou explicar como ficou o funcionamento que acho que será melhor para entender como ficou, eu abro ou navego com o terminal até minha pasta de desenvolvimento e executo o comando "gulp"
com isso ele vai executar a task "default" que no meu caso é a ultima do arquivo, a task por sua vez vai executar as taks 'browser-sync','watch-html-js-css','watch-mocha' e 'watch-sass'.
No último artigo eu falei sobre o live-reload, que ficava "escultando" uma pasta e atualizava o seu navegador padrão quando salvasse algo na pasta que ele tiver rodando, com isso comecei a utilizar SASS através do SCSS, pois é com o CSS normal, depois precisei automatizar essa tarefa de compilação do SCSS para CSS e achei o GRUNT e o GULP, eles são task runners, ou seja, eles executam uma ou várias ações para ti, chamadas de "Task" de forma automatizada através de um comando seu.
Depois te tudo isso escolhi o Gulp e ele pede um arquivo de configuração chamado de gulpfile.js, o que estou usando atualmente é esse:
/*Carregamento das váriavies*/ var gulp = require('gulp'); var browserSync = require('browser-sync').create(); var reload = browserSync.reload; var mocha = require('gulp-mocha'); var sass = require('gulp-sass'); var gutil = require('gulp-util'); /** Task para dar reload no browser*/ gulp.task('browser-sync', function() { browserSync.init({ server: { baseDir: "./" } }); }); /**Cria o watch dos arquivos js, css e html, que ao salvar/alterar/criar qualquer uma dessas extensões da um reload na página*/ gulp.task('watch-html-js-css', function() { gulp.watch(['./**/*.js','./**/*.html', 'css/**/*.css'], reload); }); /** Task para teste dos arquivos javascript(Classes e Módulos)*/ gulp.task('mocha', function() { return gulp.src(['test/**/*.js'], { read: false }) .pipe(mocha({ reporter: 'list' })) .on('error', gutil.log); }); /**Cria o watch na pasta de test para verificar todos os testes depois de algum js salvo*/ gulp.task('watch-mocha', function() { gulp.watch(['test/**'], ['mocha']); }); /** Task para compilar o SASS, compila a extensão .scss para .css*/ gulp.task('sass', function () { gulp.src('./sass/**/*.scss') .pipe(sass().on('error', sass.logError)) .pipe(gulp.dest('./css')); }); /**Cria o watch dos arquivos dos SASS, para que quando salvar compilar os arquivos*/ gulp.task('watch-sass', function() { gulp.watch(['./sass/**'], ['sass']); }); /** Oque vai ser executado quando digitar "gulp" no terminal*/ gulp.task('default', ['browser-sync','watch-html-js-css','watch-mocha', 'watch-sass']);
Vou explicar como ficou o funcionamento que acho que será melhor para entender como ficou, eu abro ou navego com o terminal até minha pasta de desenvolvimento e executo o comando "gulp"
com isso ele vai executar a task "default" que no meu caso é a ultima do arquivo, a task por sua vez vai executar as taks 'browser-sync','watch-html-js-css','watch-mocha' e 'watch-sass'.
- Browser-sync: Cria um servidor web na minha pasta atual (ficou no lugar do live-reload).
- Watch-html-js-css: Ele fica verificando se foi salvo algum arquivo com as extensões: html, js ou css, caso tenha sido salvo algo ou adicionado na pastas ele atualiza meu navegador.
- Watch-mocha: Verifica se algum arquivo foi alterado na pasta "test", caso seja mude executa a task "mocha", que por sua vez executa os testes que estão nesta pasta "test".
- Watch-sass: Verifica se algum arquivo com a extensão .scss foi alterado na pasta "scss" e executa a task "sass" e ela compila todos os meus arquivos .scss para css e salva na minha pasta "css".
É isso ai galera, qualquer dúvida só comentar!
Comentários
Postar um comentário