O servidor precisa executar operações diferentes de acordo com diferentes URLs ou solicitações, e podemos implementar esta etapa através do roteamento.
Na primeira etapa, precisamos analisar o caminho do URL da solicitação primeiro e apresentamos o módulo URL.
Vamos adicionar alguma lógica à função onRequest () para descobrir o caminho da URL solicitado pelo navegador:
A cópia do código é a seguinte:
var http = requer ("http");
var url = requer ("url");
função start () {
função onRequest (solicitação, resposta) {
var pathname = url.parse (request.url) .pathname;
console.log ("Solicitação de" + Pathname + "Recebido.");
Response.writehead (200, {"content-type": "text/plana"});
Response.Write ("Hello World");
resposta.END ();
}
http.createServer (onRequest) .Listen (8888);
console.log ("O servidor começou");
}
exports.start = start;
OK, o PathName é o caminho da solicitação, podemos usá -lo para distinguir solicitações diferentes, para que possamos usar códigos diferentes para lidar com solicitações de /iniciar e /fazer upload.
Em seguida, escreveremos a rota e criaremos um arquivo chamado Router.js, o código é o seguinte:
A cópia do código é a seguinte:
Rota da função (PathName) {
console.log ("prestes a rotear uma solicitação de" + pathname);
}
exports.Route = rota;
Este código não faz nada, primeiro integram a rota e o servidor.
Em seguida, estendemos a função START () do servidor, executamos a função de roteamento em start () e passamos o nome do caminho como um parâmetro.
A cópia do código é a seguinte:
var http = requer ("http");
var url = requer ("url");
função start (rota) {
função onRequest (solicitação, resposta) {
var pathname = url.parse (request.url) .pathname;
console.log ("Solicitação de" + Pathname + "Recebido.");
rota (nome do caminho);
Response.writehead (200, {"content-type": "text/plana"});
Response.Write ("Hello World");
resposta.END ();
}
http.createServer (onRequest) .Listen (8888);
console.log ("O servidor começou");
}
exports.start = start;
Ao mesmo tempo, estenderemos o index.js de acordo com a função de roteamento pode ser injetada no servidor:
A cópia do código é a seguinte:
var server = requer ("./ servidor");
var roteter = requer ("./ roteador");
server.start (roteter.route);
Executar index.js e acessar um caminho, como /upload, você encontrará a saída do console. Prestes a rotear uma solicitação para /upload.
Isso significa que nosso servidor HTTP e o módulo de roteamento de solicitação já podem se comunicar.
Na próxima seção, implementaremos diferentes feedback para diferentes solicitações de URL.