目录
一、os模块
1.1 引入
const os = require('os') //引入os内置模块
2.2基本语法
os.EOL | 根据不同的操作系统生成对应的换行符 |
os.cpus | cup的相关信息 |
os.totalmem | 总内存大小 |
os.freemem | 空余内存大小 |
os.hostname | 主机名 |
os.typr | 系统类型 |
二、path模块
2.1 引入
var path = require('path'); //引入path模块
2.2基本语法
path.basename(); | 获取文件 |
path.dirname(); | 获取路径 |
path.extname(); | 获取后缀 |
path.join(); | 合并目录 |
path.resolve(); | 合并目录(自带解析) |
三、url模块
3.1 引入
var url = require('url'); //引入URL内置模块
3.2 基本语法
url.parse(地址 ,true) ; | 获取参数 |
url.resolve() | 合并目录解析 |
四、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 写入内容
4.2.2 追加内容
4.2.3 读取文件
4.2.4 判断是否为文件或者文件夹
4.2.5 删除文件
五、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('服务已经启动');
})
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('服务器启动了');
})
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)
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)