Node学习随笔—http相关__http模块&路由

一:http模块

http模块是node的常用模块,可以用浏览器访问写的代码

1.引进http模块(核心模块不需要安装)

 let http = require("http")

2.创建服务器(参数接受函数)

 let server = http.createServer((req, res)=>{
    // 返回结果(状态码,返回类型, 返回的编码)
    res.writeHead(200,{"Content-type": "text/html"; charset=UTF-8})
    // 浏览器内容
    res.write("111")
    res.write("<h1>哈哈哈哈哈</h1>")
    res.end("hello")
})

3.监听(知道访问,参数端口号,地址locallhost)

server.listen(80, "127.0.0.1")

二:路由

1.node只能通过控制url来控制跳转,在服务器端先配置好路由

2.配置路由

引入读写操作文件

let fs = require(fs)

 let server = http.createServer((req, res)=>{
    if (req.url==='/test1.html') { // 浏览器地址栏的路由url
        console.log(111)
        // 读入文件
        fs.readFile("./test1.html", (err, data)=>{
            if (!err){
                console.log(data.toString)
                res.writeHead(200,{"Content-type": "text/html"; charset=UTF-8})
                res.end(data)
            }
        })
    } else if (req.url==='/test2.html') {
        console.log(222)
        // 读入文件
        fs.readFile("./test2.html", (err, data)=>{
            if (!err){
                console.log(data.toString)
                res.writeHead(200,{"Content-type": "text/html"; charset=UTF-8})
                res.end(data)
            }

        })
    } else if (req.url==='/') {


    }else {
        // 返回结果(状态码,返回类型, 返回的编码)
        res.writeHead(404,{"Content-type": "text/html"; charset=UTF-8})
        // 浏览器内容
        res.end("访问页面不存在")
    }
})

3.node中加载其他类型资源

---除了html和js文件除外的类型文件的访问

比如css文件,img图片, 音频等,要用fs读到服务中如下

 let server = http.createServer((req, res)=>{
    if (req.url==='/test1.html') { // 浏览器地址栏的路由url, 路由1
        console.log(111)
        // 读入文件
        fs.readFile("./test1.html", (err, data)=>{
            if (!err){
                console.log(data.toString)
                res.writeHead(200,{"Content-type": "text/html"; charset=UTF-8})
                res.end(data)
            }
        })
    } else if (req.url==='/test2.html') { // 浏览器地址栏的路由url, 路由2
        console.log(222)
        // 读入文件
        fs.readFile("./test2.html", (err, data)=>{
            if (!err){
                console.log(data.toString)
                res.writeHead(200,{"Content-type": "text/html"; charset=UTF-8})
                res.end(data)
            }

        })
    } else if (req.url==='/css/index/.css') { // css
        // 读css文件
        fs.readFile("./css/index/.css", (err, data)=>{
            if (!err){
                console.log(data.toString)
                res.writeHead(200,{"Content-type": "text/css"}) // text/css
                res.end(data)
            }
        })
    }else if (req.url==='/img/lixiaoyu.png') { // 图片
        // 读图片文件
        fs.readFile("./img/lixiaoyu.png", (err, data)=>{
            if (!err){
                console.log(data.toString)
                res.writeHead(200,{"Content-type": "image/jpg"}) // image/jpg
                res.end(data)
            }
        })
    } else {
        // 返回结果(状态码,返回类型, 返回的编码)
        res.writeHead(404,{"Content-type": "text/html"; charset=UTF-8})
        // 浏览器内容
        res.end("访问页面不存在")
    }
})

小节图如下:
image
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • Node.js第一天 1. 初识Node.js 1.1 Node.js是什么 Node.js® is a Java...
    再见天才阅读 10,227评论 1 24
  • 作者: Manuel Kiessling 翻译: goddyzhao & GrayZhang & MondayC...
    紫月凌枫阅读 7,003评论 5 26
  • 晨间的少年啊 你是什么时候长大的呢 褪去青涩 换上大人模样 晨间的少年啊 你是什么时候长大的呢 稚嫩的肩膀 撑起了...
    慕青柠阅读 1,832评论 2 1
  • 其实打小开始 我就不太拒绝人 所以朋友说去干嘛干嘛吧 我说好啊去吧 即使有时候我不怎么想去 但是每次我都会想着去不...
    马田心Martinc手作阅读 2,563评论 2 1

友情链接更多精彩内容