├── index.js
├── router.js
└── server.js
index.js
var server = require("./server");
var router = require("./router");
server.start(router.route);
router.js
function route(pathname) {
console.log("About to route a request for" + pathname);
}
exports.route = route;
server.js
var http = require("http");
var url = require("url");
function start(route) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
console.log("Request for" + pathname + "received.");
route(pathname);
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
运行服务器
node index.js
Request for/testreceived.
About to route a request for/test
Request for/favicon.icoreceived.
About to route a request for/favicon.ico
简单的Web
├── client.js
├── index.html
└── server.js
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web Demo</title>
</head>
<body>
<h1>2020年</h1>
<p>祝全世界人民身体健康!</p>
</body>
</html>
client.html
var http = require('http');
var options = {
host: 'localhost',
port: '8888',
path: '/index.html'
};
var callback = function(response) {
var body = '';
response.on('data', function(data) {
body += data;
});
response.on('end', function() {
console.log('Response Data: ');
console.log(body);
});
}
var req = http.request(options, callback);
req.end();
server.js
var http = require('http');
var fs = require('fs');
var url = require('url');
http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
console.log('Request for `' + pathname + '` received.');
fs.readFile(pathname.substr(1), function (err, data) {
if (err) {
console.log(err);
response.writeHead(404, {'Content-Type': 'text/html'});
} else {
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(data.toString());
}
response.end();
});
}).listen(8888);
启动服务器
node server.js
Request for `/index.html` received.
启动客户端
node client.js
Response Data:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web Demo</title>
</head>
<body>
<h1>2020年</h1>
<p>祝全世界人民身体健康!</p>
</body>
</html>