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