node.js中的http模块

本文介绍了如何使用Node.js内置的http模块创建服务器,包括读取并响应静态文件,处理favicon.ico请求。同时,文章提到了Node.js不适合大型项目,常用于聊天室和游戏场景。此外,还探讨了Express框架的基本用法,如创建服务器和定义路由。
摘要由CSDN通过智能技术生成
//node创建服务器不需要任何软件,只需要通过一些模块即可
//node不适合大型项目的开发,一般用来实现聊天室,游戏

//修改了后台的内容需要重启
//node创建服务器
//引入http模块
const http=require("http");
const fs=require("fs");
const path=require("path")
//创建服务器
let server=http.createServer((req,res)=>{
    //req代表的是客户端请求的内容
    //req.url请求路径
    // /favicon.ico(标题前面的小图标,会自动请求)
    if(req.url=="/favicon.ico") return false;
    console.log(req.url)
    if(req.url=="/"){
        //读取文件,响应给客户端
        fs.readFile(path.join(__dirname,"public/index.html"),(err,data)=>{
            res.end(data)
        })
    }else{
        //根据前端路径,渲染内容,需要找规律
        fs.readFile(path.join(__dirname,"public",req.url),(err,data)=>{
            res.end(data)
        })
    }
    //res代表响应给客户端的内容
    //res.write()代表响应给客户端的内容,可以写多个
    //中文需要响应头,告诉客户端文件类型,如何编码
    //res.writeHead(响应编码,{"Content-Type":"书写编码方式"}) 1xx 2xx 3xx-重定向 4xx 5xx 编码方式
    res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8"})
    res.write("哈哈哈")
    res.write("hahaha")
    //res.end("123") //只能有一个,多写会报错
    //res.end()响应给客户端的内容,结束响应,一定要结束
    //res.end("hahaha")
})
//添加监听的端口号
server.listen("8989");

//执行普通js文件会直接关闭,执行带有服务器的文件会一直闪烁

express框架

//express是node提供好的一个框架
const express=require('express');
//通过express创建服务器
const app=express();
//书写路由
//app.use()以某个路径开始的意思,如果使用use一定要注意路径的关系,下面的代码有可能执行不到
app.use('/',(req,res,next)=>{
    console.log('xxx');
    //结束响应
    res.send('xxx');
    //没有结束send,请求以后会没有结束响应
    //next()是中间键的意思,把请求传递给下一层,需要形参
    next()
})
app.use('/get',(req,res)=>{
    console.log('get');
    //res.send('get')
})
//添加监听的端口号
app.listen("8989")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值