发布于 4年前

node http读取用户当前访问的路径打开特定的文件

// 加载http核心模块
var http = require('http')
var fs = require('fs')

// 使用http.createServer()创建一个服务器
    // 注:该api会返回一个实例,所以要开一个变量来接收
var server = http.createServer()
    // 当客户端请求过来,就会触发node的request请求事件,然后回调函数
        // 回调函数有2个参数
            // request: 请求对象
                // 说明: 请求对象可以用来获取客户端的一些请求信息,例如请求路径
            // response: 响应对象
                // 说明: 响应对象可以用来给客户端发送响应信息
server.on('request', function(request, response) {
    // request.url是客户端当前请求的路径
    console.log(request.url)
    // response对象有一个方法:write可以给客户端发送响应数据
        // write可以响应多次,但是最后一定要使用end来结束响应,否则客户端会一直等待

    // 匹配当前用户请求的路径与服务器是否一致
    fs.readFile('.' + request.url,function (error, data) {
        // 如果一致
        if (data) {
            // 输出用户打开路径的文件内容,并且展示出来
            response.write(data.toString())
            // end结束
            response.end()
        } else {
            response.end('404没有该页面哦')
        }
    })
    console.log('收到用户请求了')
})

// 启动服务器,绑定端口号
server.listen(3000, function () {
    console.log('服务器启动成功了,可以通过 http: //127.0.0.1:3000来进行访问')
})
©2020 edoou.com   京ICP备16001874号-3