Nodejs基础结构和数据处理

fs模块(文件操作)

  • writeFile
const fs=require('fs'); //引入fs模块
//fs.writeFile(path,data,callback)  //写入文件(path:文件名,data:文件内容,callback回调)
fs.writeFile('./a.txt', 'asdfghj', err=>{
    if(err){
        console.log("失败",err);
    }else{
        console.log("成功");
    }
});

Nodejs基础结构和数据处理_第1张图片

  • readFile
//fs.readFile(path,callback) //读取文件
fs.readFile('./a.txt',(err,data)=>{
    if(err){
        console.log("错误", err);
    }else{
        console.log("成功",data);
    }
});

Nodejs基础结构和数据处理_第2张图片
Buffer:是二进制的转化,如果要显示自己原本输入的东西则:console.log(“成功”,data.toString());

http模板(网络操作)

  • 服务器:响应请求、数据交互、数据库

  • 数据交互

  • http—协议:规定了浏览器和服务器如何去交流

  • http报文结构:1.header(头):信息
    2.body(身体):具体的内容或数据

  • 状态码
    1xx:信息---------告诉你一个无关紧要的信息
    2xx:成功------成共
    3xx:重定向—你的资源在另一个地址,请找它要
    4xx:请求错误----浏览器那边的错误
    5xx:服务器错误—我们这边的错误

  • 请求方式

  • GET:获取数据(数据放在url传输的)、容量少(<32k)。

  • POST:向服务器发送数据(数据放在body里)、容量大。

  • 接收浏览器的GET数据----url
    1.引入url模块
    2.url.parse(req.url,true)=>{
    pathname,query
    }
    GET=>"/aaa/b?xx=xxx&xxx=xx"
    Nodejs基础结构和数据处理_第3张图片
    Nodejs基础结构和数据处理_第4张图片
    在这里插入图片描述
    url.parse方法:https://blog.csdn.net/swimming_in_it_/article/details/77439975

  • 接收浏览器的POST数据—body*
    1.分几次进行
    2.let arr=[];
    req.on(‘datq’,buffer=>{
    arr.push(buffer);
    });
    req.on(‘end’,()=>{
    let buffer=Buffer.concat(arr);
    });
    POST=>“xx=xxx&xxx=xx”

Nodejs基础结构和数据处理_第5张图片
Nodejs基础结构和数据处理_第6张图片
在这里插入图片描述

  • 接口—API
const http=require('http');
const url=require('url');
const querystring=require('querystring');
const fs=require('fs');

http.createServer((req, res)=>{
  let path='', get={}, post={};

  if(req.method=='GET'){
    let {pathname, query}=url.parse(req.url, true);

    path=pathname;
    get=query;
    complete();
  }else if(req.method=='POST'){
    path=req.url;

    let arr=[];
    req.on('data', buffer=>{
      arr.push(buffer);
    });
    req.on('end', ()=>{
      let buffer=Buffer.concat(arr);

      post=querystring.parse(buffer.toString());
      complete();
    });
  }

  function complete(){
    console.log(path, get, post);
  }
}).listen(8080);

Node.js的模块系统
1.定义模块:(常用的模块:CMD、 AND、 ESN)

  • module:批量输出
  • exports:用于输出
  • require
  • 如果带有路径–去路径下面赵
  • 如果没有不带路径–就去找node_modules文件夹或去找系统node_modules
exports.a = 12  //相当于var 一个对象
module.exports={
   a:12,b:5
}

你可能感兴趣的:(Nodejs基础结构和数据处理)