Eu quero rodar um servidor HTTP muito simples. Todo pedido de GET para example.com
deve ser servido como index.html
mas como uma página HTML regular (ou seja, a mesma experiência de quando você lê páginas web normais).
Utilizando o código abaixo, eu posso ler o conteúdo do index.html
. Como posso servir o index.html
como uma página web regular?
var http = require('http');
var fs = require('fs');
var index = fs.readFileSync('index.html');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(index);
}).listen(9615);
Uma sugestão abaixo é complicada e requer que eu escreva uma linha 'get' para cada recurso (CSS, JavaScript, imagens) que eu quero utilizar.
Como posso servir uma única página HTML com algumas imagens, CSS e JavaScript?
Em vez de lidar com uma declaração de mudança, acho que é mais fácil consultar o tipo de conteúdo de um dicionário:
var contentTypesByExtension = {
'html': "text/html",
'js': "text/javascript"
};
...
var contentType = contentTypesByExtension[fileExtension] || 'text/plain';
Node.js sample app Node Chat tem a funcionalidade que você quer.
Nele está README.textfile.
3. Passo é o que você está procurando.
passo1
- crie um servidor que responda com olá mundo na porta 8002
passo2
- criar um index.html e servi-lo
passo3
- introduza o util.js
- alterar a lógica para que qualquer arquivo estático seja servido
- mostrar 404 no caso de nenhum arquivo ser encontrado
passo4
- adicionar jquery-1.4.2.js
- adicionar client.js
- altere index.html para solicitar um apelido ao usuário
Aqui está o server.js
Aqui está o util.js