Node一个简单hello world

├── 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>

发布了290 篇原创文章 · 获赞 114 · 访问量 61万+

猜你喜欢

转载自blog.csdn.net/jason_cuijiahui/article/details/104179028