Criando um servidor local com auto refresh usando NodeJS

Muito provalvemente você, enquanto estava alterando seu código HTML, CSS ou Javascript, fica atualizando a págia toda vez que mexe no código, já pensou em fazer isso de forma automática? Se sim, siga os passos que terá sucesso.

Requisitos

  1. NodeJS
  2. NPM ou Yarn
  3. Linux (o que estou usando)

Configurando passo-a-passo

Isso é simples:

mkdir tabnews-content

Em seguida, entre na pasta:

cd tabnews-content

Inicialize o projeto com NPM ou Yarn:

yarn init -y ou npm init -y

Em seguida, instale o live-server:

yarn add live-server ou npm install live-server

Necessitamos criar uma pasta para a raiz do site, e o script server.js: mkdir public touch server.js touch public/index.html

Noserver.js, escreva ou cole o seguinte código:

let liveServer = require("live-server");

let params = {
	port: 8181,
	host: /* IP da sua máquina aqui */,
	root: "./public",
	open: false,
	ignore: 'scss,my/templates',
	file: "index.html",
	wait: 1000,
	mount: [['./components', './node_modules']],
	logLevel: 2,
	middleware: [function(req, res, next) { next(); }]
};

liveServer.start(params);

E simplismente digitar: node server.js

Você pode adicionar esse comando, na áreascripts do package.json:

{
  "name": "tabnews-content",
  "version": "1.0.0",
  "main": "server.js",
  "license": "MIT",
  "dependencies": {
    "live-server": "^1.2.2"
  },
  "scripts": {
    "start": "node server.js"
  }
}

Assim você pode usar: yarn start ou npm run start

Deve aparecer, no terminal, algo assim:

> tabnews-content@1.0.0 start
> node server.js

Mapping ./components to "/home/user/Documents/project/tabnews-content/node_modules"
Serving "./public" at http://192.168.0.100:8181
Ready for changes

Considerações finais

O bom disso é que você pode acessar o site de qualquer dispositívo conectado em sua rede, assim você pode até entrar pelo seu celular digitando o IP e a porta de onde está rodando o servidor, e tudo atualizando automático em cada alteração.