使用 Node 非常轻松的构建一个Web服务器。
在 Node 中专门提供了一个核心模块:http,http 模块的职责就是帮你创建编写服务器。
1. 加载 http 核心模块
var http = require("http");
2. 使用 http.createServer() 方法创建一个Web服务器
var server = http.createServer();
3. 服务器要干嘛?
提供服务,对数据的服务。
浏览器发请求 ➡️ 服务器接受请求 ➡️ 处理请求 ➡️ 给个反馈(发送响应)
当客户端请求发送过来,就会自动触发服务器的 request 请求事件,然后执行第二个参数:回调处理。
server.on("request", function() {
console.log("收到客户端的请求了");
})
4. 绑定端口号,启动服务器
server.listen(8888, function() {
console.log("服务器启动成功了,可以通过http://127.0.0.1:8888/ 来进行访问");
})
request 请求事件处理函数,需要接受两个参数:
- Request 请求对象
请求对象可以用来获取客户端的一些请求信息,例如请求路径。 - Response 响应对象
响应对象可以用来给客户端发送响应信息。
server.on("request", function(request, response) {
console.log("收到客户端的请求了,请求路径是:" + request.url);
// response 对象有一个方法:write 。可以用来给客户端发送响应数据
// write 可以使用多次,但是最后一定要使用 end 来结束响应,否则客户端会一直等待
response.write("hello ");
response.write("node.js\n");
response.end();
}
希望当请求不同的路径时响应不同的结果 ❓
如:
/ --> index
/hhh --> 哈哈哈
var url = request.url;
//response.end(url);
if (url === '/') {
response.end("index");
} else if (url === '/hhh') {
response.end("哈哈哈");
} else {
response.end("else");
}
Node.js的核心模块
Node为JavaScript提供来许多服务器级别的API,这些API绝大多数被包装到了一个具名的核心模块中来。
例如 文件操作的 fs
核心模块, http服务构建的 http
模块,path
路径操作模块、os
操作系统信息模块……
var fs = require("fs");
var http = require("http");
……
? 相关链接: