Node.js的常用内置模块

目录

一、os模块

1.1 引入

2.2基本语法

 二、path模块

 2.1 引入

2.2基本语法

三、url模块

3.1  引入

3.2  基本语法

​ 四、fs模块

4.1  引入

4.2  基本语法

4.2.1  写入内容

 4.2.2  追加内容

 4.2.3  读取文件

 4.2.4  判断是否为文件或者文件夹

 4.2.5 删除文件

五、http模块 

5.1 引入

5.2  创建web服务器

5.3  静态资源服务器 

5.3.1  定义

5.3.2  代码 

5.4  get数据获取

 5.4.1  获取方式

5.4.2  代码演示

 5.5  post数据获取

5.5.1  获取方式

5.5.2  代码演示


一、os模块

1.1 引入

const os = require('os')   //引入os内置模块

2.2基本语法

os.EOL 根据不同的操作系统生成对应的换行符
os.cpus cup的相关信息

os.totalmem

总内存大小
os.freemem 空余内存大小
os.hostname 主机名
os.typr 系统类型

Node.js的常用内置模块_第1张图片

 二、path模块

 2.1 引入

var path  =  require('path');   //引入path模块

2.2基本语法

path.basename(); 获取文件
path.dirname(); 获取路径
path.extname(); 获取后缀
path.join(); 合并目录
path.resolve(); 合并目录(自带解析)

Node.js的常用内置模块_第2张图片

三、url模块

3.1  引入

var url = require('url');    //引入URL内置模块

3.2  基本语法

url.parse(地址 ,true) ; 获取参数
url.resolve() 合并目录解析

Node.js的常用内置模块_第3张图片 四、fs模块

4.1  引入

var fs = require('fs');    //fs模块引入

4.2  基本语法

fs.writeFile(参数1,参数2,参数3);

参数1 目录  参数2 内容 参数3 err回调

写入内容

fs.appendFile(参数1,参数2,参数3)

参数1 目录  参数2 内容 参数3 err回调

追加内容

fs.readFile(参数1,参数2,参数3)

参数1 文件路径 参数2 字符串 参数3 读取内容回调

读取文件
fs.existsSync(); 判断文件是否存在

fs.stat('目标文件或者文件夹' ,(err,stat)=>{

console.log(stat.isFile()); //是否文件

console.log(stat.isDirectory()); //是否是目录

console.log(stat.size);  //128字节

})

判断文件是否是文件或着文件夹

fs.unlink(参数1,参数2);

参数1 目录  参数2 错误回调

删除文件

4.2.1  写入内容

Node.js的常用内置模块_第4张图片

 4.2.2  追加内容

Node.js的常用内置模块_第5张图片

 4.2.3  读取文件

Node.js的常用内置模块_第6张图片

 4.2.4  判断是否为文件或者文件夹

Node.js的常用内置模块_第7张图片

 4.2.5 删除文件

Node.js的常用内置模块_第8张图片

五、http模块 

5.1 引入

const http = require('http')    //导入http模块

5.2  创建web服务器

//http 搭建应用服务的
//1.引入http
var http = require('http')
//2.创建一个server
var server = http.createServer()
//3.监听请求
server.on('request',(req,res)=>{
    console.log(req.url); //接口名
    console.log(req.method); //请求类型 get post
    console.log(req.headers); //请求头信息
    //请求头 json字符串  默认值   form表单
    res.setHeader('content-type', 'text/html;charset=utf-8')
    // res.statusCode = 304 //状态码
    res.end('hello boy') //返回内容
})
//4.启动服务
server.listen(8080,()=>{
    console.log('服务已经启动');
})

Node.js的常用内置模块_第9张图片

5.3  静态资源服务器 

5.3.1  定义

静态资源:常见的有html、css、js、图片、音频、视频等

静态资源服务器:专门保存上述静态资源的服务器,称之为静态资源服务器。

- 实现思路

客户端请求的每个资源uri地址,作为在本机服务器指定目录中的文件。通过相关模块进行读取文件中数据进行响应给客户端,从而实现静态服务器。

5.3.2  代码 

// 导入公共模块
var http = require('http');
var fs = require('fs');
var path = require('path');
// 创建server服务
var server = http.createServer();
// 监听请求
server.on('request',(req,res) =>{
    // 利用path模块拼接路径
    var filepath = path.join('public',req.url);
    // 利用fs模块判定有没有该文件
    var b = fs.existsSync(filepath);
    if(b){
        fs.readFile(filepath,(err,data) =>{
            res.end(data);
        })
    }else{
        res.end('404,文件飞走了')
    }

})


server.listen(8080,()=>{
    console.log('服务器启动了');
})

Node.js的常用内置模块_第10张图片

5.4  get数据获取

 5.4.1  获取方式

get数据通过地址栏使用query方式进行传递的数据 例**?id=1&name=zhangsan**

5.4.2  代码演示

var http = require('http')
var url =require('url')
var server = http.createServer()
server.on('request',(req,res)=>{
    const { query } =  url.parse(req.url,true) //获取get参数
    console.log(query);
   
    res.end('hello')

})
server.listen(8080)

Node.js的常用内置模块_第11张图片

 5.5  post数据获取

5.5.1  获取方式

表单数据多数为post进行提交到服务器端。需要监听req对象的data事件(接收请求提交过来的数据的)来获取客户端发送到服务器的数据。如果数据量比较大,无法一次性发送完毕,则客户端会把数据切割后分批次发送给服务器。**所以data事件==可能==会被触发多次**,每次触发data事件时,收到的数据只是全部数据的一部分,因此需要做数据的拼接才能得到完整的数据

5.5.2  代码演示

var http = require('http')
var querystring = require('querystring')
var server = http.createServer()
server.on('request',(req,res)=>{
    //post接收参数  第一步监听data事件
    var arr = []
    req.on('data',buffer=>{
        arr.push(buffer)
    })
    req.on('end',()=>{
      var params = querystring.parse(Buffer.concat(arr).toString()) 
      console.log(params);
    })
    res.end('hello')

})
server.listen(8080)

Node.js的常用内置模块_第12张图片

 

你可能感兴趣的:(nodejs,node.js,前端,后端)