Node.js

node

服务器模块:http

// 用require 引入模块
const http = require("http");

// 这里的函数,是服务器被访问时需要执行的功能  res是响应,req是请求
const serverObj = http.createServer(function(req,res){
    const url = req.rul;
    // 设置编码,防止乱码
    res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8"});
    if(req.url === "/"){
        res.write("转型前端了呀");
    }
    res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8"});
    res.write("转型前端了呀");
    res.end();

});

// 设置端口监听  这里的函数是服务启动成功之后执行的功能
serverObj.listen(3000,function(){
    console.log("服务器启动了");
})

文件模块:fs

const fs = require("fs");

// 增加
fs.writeFile("./hello.txt","你好 node",function(err){
    console.log(err)
})

// 修改就是覆盖
// 读取
fs.readFile("./hello.txt","utf-8",function(err,data){
    console.log(err);
    console.log(data);
});

// 删除
fs.unlink("./hello.txt",function(err){
    console.log("删除成功!")
});
// 引入模块
const url = require("url");
const http = require("http");
const fs = require("fs");
const qs = require("querystring");

// 创建服务器对象
const serveObject = http.createServer((request,response)=>{
    if(request.url.indexOf("api") !== -1){
        // 访问数据
        dataFunction(request,response);

    }else{
        // 访问静态资源
        staticFunction(request,response);
    }
});


// 监听端口
serveObject.listen(3000,(error)=>{
    if(error){
        console.log(error);
    }else{
        console.log("服务器开启成功:访问 http://localhost:3000");
    }
    
});

// 访问数据资源
function dataFunction(request,response){
   
    // 如果是get请求
    if(request.method ==="GET"){
        // 通过url来解析地址
      const data =  url.parse(request.url,true).query;
      console.log(data)
      transit(request,response,data);
      

    }else if(request.method ==="POST"){
        let str = "";
        request.on("data",(s)=>{
            str  += s;
        });
        request.on("end",()=>{
          const data =  qs.parse(str);
          transit(request,response,data);
        });

       
    }
}

// 访问静态资源
function staticFunction(request,response){
    // 解析地址,带有参数
   let requestUrl = url.parse(request.url).pathname;
   console.log(requestUrl)
    fs.readFile(`./html${requestUrl}`,"utf-8",(error,data)=>{
        if(error){
            console.log("页面找不到了"+error);
        }else{
            response.write(data);
        }
        response.end();

    });

}

// 过渡函数:将get和post的数据,过渡处理,区分具体的功能路由
function transit(req, res, data){
    switch(data.type){
        case "login":
            // login(req, res, data);break;
            console.log("login");break;
        case "regist":
            // register(req, res, data);break;
            console.log("regist");break;
        case "banner":
            // getBanner(req, res, data);break;
            console.log("banner");break;
        case "getGoods":
            getGoods(req, res, data);break;
            console.log("getGoods");break;
        default:
            error(req, res);
    }
}

// 错误处理
function error(req,res){
    res.write("err");
    console.log("err");
    res.end();
}


function getGoods(req,res,data1){
    fs.readFile("./database/goods.json","utf-8",function(error,data){
            console.log(data);
            res.write(JSON.stringify(data));
            res.end();
    });

}

express

npm i express -g

下载脚手架
npm i express-generator -g 

用脚手架创建demo
express projectName 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈斌-cb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值