欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

node js搭建一个简单的 web服务器

程序员文章站 2022-05-09 08:08:59
...

第一步

	引入 http 核心模块 : var http = require('http')

第二步
使用 http.createServer() 方法创建一个 web 服务器
返回一个 Server 实例

	**var server = http.createServer()**

第三步
注册 request 请求事件

	request 请求事件处理函数,需要接受两个参数
		req 请求对象:
			请求对象可以获取客户端的请求信息,列如路径请求(返回客户端请求的 URL)
		res 响应对象
			响应对象可以给客户端发一些响应消息(res.end(这里面写给客户端响应的数据))
			res 对象有一个方法:write 可以用来给客户端发送一些响应数据
			res.write('<head><meta charset="utf-8"/></head>');防止页面上乱码
server.on('request',function(req,res){
 // res 对象有一个方法:write 可以用来给客户端发送一些响应数据
    // write 可以使用多次,但是使用后面一定要用 end 来结束响应,否则客户端会一直等待(页面上不显示请求的消息)
    // res.write('<head><meta charset="utf-8"/></head>');防止乱码
    console.log('收到客户端的请求,请求路径是:'+req.url)
     res.write('<head><meta charset="utf-8"/></head>');
     res.write('初始数据')
       // 告诉客户端,话说完了可以传递给用户了(显示在页面上)
       res.end()
})

第四部
绑定端口号,启动服务器
代码里面绑定的端口号是 3000 就直接用 http://127.0.0.1:3000/ 获取 localhost:3000 来访问

server.listen(3000,function(){
    console.log('成功可以通过 http://127.0.0.1:3000/ 来访问'); 
})

下面是完整的代码 里面只是多了一个 URL客户端输入的路径判断响应不同的数据

/**
 * 搭建一个简单的 web 服务器
 */

//  映入 http 核心模块
var http = require('http')



// 2.使用 http.createServer() 方法创建一个 web 服务器
//    返回一个 Server 实例
var server = http.createServer()


//3.注册 request 请求事件
/**
 * request 请求事件处理函数,需要接受两个参数
 *    req 请求对象:
 *       请求对象可以获取客服端的一些请求信息,例如路径请求(返回客户端请求的 URL)
 *    res 响应对象
 *       响应对可以用来给客户端发送响应消息       
 */

//函数里的参数可以自己定义参数 function(**,**) 
server.on('request',function(req,res){
    console.log('收到客户端的请求,请求路径是:'+req.url)


    // res 对象有一个方法:write 可以用来给客户端发送一些响应数据
    // write 可以使用多次,但是使用后面一定要用 end 来结束响应,否则客户端会一直等待(页面上不显示请求的消息)
    // res.write('<head><meta charset="utf-8"/></head>');防止乱码
    
   /* 
    *  res.write('<head><meta charset="utf-8"/></head>');
    *  res.write('初始数据')
    *   // 告诉客户端,话说完了可以传递给用户了(显示在页面上)
    *   res.end()
    */
    


    /*
     * 用 req.url 获取到服务器的请求就进行判断
     *      如果客户端输入的路径请求等于 goods 就显示商品数据
     */
    let url = req.url;
    if(url === '/goods'){
        let products  = [
            {
                name: '橘子',
                price:'20'
            },
            {
                name: '香蕉',
                price:'20'
            }
        ]
        // res.end 只能识别 字符串,和二进制数字,所以用 JSON.stringify 转换成字符创数组
        res.end(JSON.stringify(products))
    } else{
        res.write('<head><meta charset="utf-8"/></head>');
        res.write('初始数据')
    // 告诉客户端,话说完了可以传递给用户了(显示在页面上)
    res.end()
    }
})



//4.绑定端口号,启动服务器
server.listen(3000,function(){
    console.log('成功可以通过 http://127.0.0.1:3000/ 来访问'); 
})
相关标签: nodejs nodejs