Primeiros passos para criar um servidor HTTP em Node


A primeira etapa para criar um projeto Node é executar o comando abaixo:

$ npm init -y

Após isso, será criado o arquivo de configuração package.json no qual conterá as informações do projeto.

Em seguida, vamos criar o arquivo de entrada da nossa aplicação chamado src/server.js.

Note

De forma geral no contexto Node, os desenvolvedores utilizam o padrão de nomenclatura para o arquivo principal sendo server.js, ao invés de index.js sendo amplamente utilizando no contexto front-end.

Por padrão, o Node suporta o modelo de importação de arquivo sendo o CommonJS, porém atualmente é recomendado utilizar-se o ES Modules o qual as importações são feitas de forma não bloqueante, garantindo um ganho de performance. Para isso, é necessário adicionar o atributo type no arquivo package.json.

{
	// ...
	"type": "module",
	// ...
}

Com isso configurado, basta importar o módulo http nativo do Node para criar o nosso primeiro servidor HTTP.

import http from 'node:http'
 
const server = http.createServer((request, response) => {
    return response.end('Hello World!')
})
 
server.listen(3000)

Note

Para diferenciar um biblioteca/framework de um módulo interno do Node, utiliza-se o prefixo node: antes do nome do módulo.

Com isso, basta acessar localhost:3000 no navegador ou com uma API Client.

$ http localhost:3000
 
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 12
Date: Fri, 26 Apr 2024 23:57:35 GMT
Keep-Alive: timeout=5
 
Hello World!

Referências