A forma mais simples de servir um arquivo HTML usando apenas módulos já inclusos no Node.js é a seguinte:
1const http = require('http')2const fs = require('fs')34const server = http.createServer((req, res) => {5 res.writeHead(200, { 'content-type': 'text/html' }) // MIME type HTML6 fs.createReadStream('index.html').pipe(res) // arquivo que será entregue7})89// Usa a variável de ambiente PORT ou a porta 300010server.listen(process.env.PORT || 3000)
Sem nenhum módulo externo.
Coloque isso em um arquivo app.js
, crie uma página index.html
na mesma pasta e rode node app.js
.
A página estará acessível em http://localhost:3000/
.
Perceba que o código acima não dá suporte à servir os outros arquivos estáticos, apenas entrega o conteúdo do index.html
para todas as requisições.