Gulp connect e livereload

Hoje vamos ver como é simples subir um servidor web usando NodeJS, e ainda aproveitar as facilidades do Gulp para rodar nossas tarefas diárias, inclusive fazendo livereload! Quer ver como é fácil? Vem comigo :D
Criando a estrutura do projeto
Crie um diretório e execute dentro dele, no terminal:
1 | touch gulpfile.js index.html style.css && echo "{}" > package.json |
Isso irá criar a estrutura do nosso projeto:
1 | . |
Instalando os módulos necessários
Como de praxe, você precisa ter o NodeJS instalado, e o Gulp, instalado de modo global.
O quê? Ainda não sabe como usar o Gulp? Esse artigo pode te ajudar a começar! Se quiser saber um pouco mais sobre essa incrível ferramenta, aqui você encontra várias coisas legais sobre ele ;)
Vamos agora instalar os módulos necessários para os nossos testes. Execute no terminal, no diretório do seu projeto:
1 | npm i --save-dev gulp gulp-connect |
Agora vamos configurar nosso gulpfile.js:
1 | ; |
As tarefas são bastante simples. Nas linhas 3 e 4, incluímos as dependências: gulp e gulp-connect. Na linha 5, criamos um array com os arquivos que serão assistidos e, ao serem alterados, executarão o livereload.
Na linha 7, criamos a task files, passamos como source o array já configurado na varável files, e chamamos o connect.reload(). Isso diz ao connect quais arquivos devem ser alterados para que ele faça o reload :)
Na linha 11, criamos a task watch, que vai assistir os arquivos, para saber quando eles foram alterados.
Na linha 15, criamos a task connect, que vai subir nosso servidor web. Por padrão, ao chamar connect.server(), ele vai usar a porta 8080. Para subir em outra porta, passe um parâmetro port no objeto passado para esse método. No exemplo, estamos passando somente o parâmetro livereload: true, para que o livereload seja ativado.
Se quiser ver todas as opções do gulp-connect, você pode visitar a documentação completa aqui.
E, para finalizar, na linha 19, criamos a task default, que executa as tasks connect, para subir o servidor, e a task watch, para assistir as mudanças nos arquivos index.html e style.css.
Agora execute no seu terminal o comando:
1 | gulp |
Abra no seu navegador, o endereço http://localhost:8080 e você verá uma página em branco. Deixe o navegador e o seu editor lado a lado, e edite o arquivo index.html, colocando um conteúdo básico:
1 |
|
Ao salvar o arquivo, você já vai ver que, sem precisar recarregar a tela, o título Gulp Connect & Livereload já irá aparecer!
Agora, brinque um pouco, editando o arquivo style.css, e veja a mágica acontecendo xD
Você pode usar qualquer estrutura de diretórios, e fazer o livereload funcionar para qualquer tipo de arquivo, desde que passe corretamente o caminho dos mesmos.
Bastante simples não? E não precisa adicionar nenhum script a mais na sua index.html! O gulp-connect já faz todo o trabalho sujo xD
Curtiu a dica? Já usa livereload? Tem algo a complementar? Compartilhe conosco nos comentários!
Até a próxima :D
Sobre o #1postperday: https://blog.da2k.com.br/2014/12/31/um-post-por-dia/
Tem alguma sugestão para os próximos posts do #1postperday? Deixe ela aqui: https://github.com/fdaciuk/fdaciuk.github.io/issues/1