1. path模块(路径模块)
path.join('/目录1','/目录2','/目录3','/目录4','/目录5','..')
作用:将所有的目录整合在一起,可以是相对路径或者相对路径
返回值:/目录1/目录2/目录3/目录4
path.resolve('/目录1','/目录2','/目录3','/目录4','/目录5','..')
作用:将所有的目录整合在一起,绝对路径
2. url模块
url.parse()
作用:把url解析成对象
返回值:url对象
url.format()
作用:把url对象解析成url地址串对象
返回值:url地址字符串
url.resolve()
作用:把两段url地址片段,组合为一个完整的url地址
返回值:url地址字符串
3. querystring模块
querystring.stringify():
作用:把对象变成查询字符串
querystring.parse():
querystring.stringify()的逆方法
querystring.escape():
把字符串进行url编码
querystring.unescape():
url编码进行编码,变成字符串
4. fs
(1)fs.stat:获取文件信息
fs.stat('文件路径',fn());
stats:stats.size:表示文件的大小
stats.isFile():判断是不是一个文件
stats.isDirectory():判断是不是一个文件夹
(2)fs.mkdir:创建文件夹
fs.mkdir('文件名’,fn());
(3)fs.write:给文件夹写入文件,覆写
fs.append:给文件夹追加写入文件
fs.write('文件路径','写入的内容',fn());
fs.append('文件路径','写入的内容',fn());
(4)fs.read:读取文件的内容
fs.read('文件路径',fn());
fs.read('文件路径','utf-8',fn());
(5)fs.readdir:读取文件目录
fs.readdir('文件夹名',fn())
(6)fs.rename:文件或者文件夹重命名
fs.rename('文件路径','新名字',fn())
(7)fs.delete:先遍历文件夹里的子文件夹,删除,然后删除文件夹。
遍历:fs.readdirSync('文件名').map(funciton(filename){
fs.unlink('文件名'+filename)
});
删除:fs.rmdirSync('文件夹名')
(8)stream文件流
1.创建一个读取文件流
var inp = fs.createReadStream('文件名')
2.创建一个写入文件流
var out = fs.createWriteStream('文件路径')
3.inp.on('data',fn()):有数据读取时触发
4.inp.on('end',fn());:数据读取完成时触发
5.inp.on('error',fn());:数据读取错误时触发
6.inp.on('close',fn());:数据写入完成时触发
7.inp.pipe();:管道流,通过pipe写入
(9)events:on,once:
1.创建事件触发器:
var EventEmitter = require('events)
var myEvent = new EventEmitter()
2.定义事件触发器
myEvent.on('xxx',fn):可以触发多次
myEvent.once('xxx',fn):只能触发一次
3.触发事件
myEvent.emit('xxx',args)
(10)http和https的模块
http.createServer():开启服务
http.request()
http.get()
(11)nodejs全局变量:process,console
魔术变量:__dirname:当前目录的绝对路径,
__filename:当前文件的绝对路径
(12)spider:爬虫
1.导入第三方模块
const https = require('https');
2.下载第三方包cheerio
npm install cheerio -S
3.请求地址
const url = '地址'
4.请求得到的html字符串
let html = '';
5.利用https发送请求
(13)用express重构webServer服务
1.导入express
const express = require('express');
2.创建实例
const app = express();
3.静态服务,所有静态资源都在public目录中
app.use(express.static('public'))
4.创建路由s
app.请求方式('请求路由',function(res,req){})
5.监听端口
app.listen(8080)
(14) 创建路由
1. 语法:app.请求方式("请求路由",function(req,res,next){})
2. req:
req.query():请求参数的对象格式,接收get请求
req.path():请求路由
req.body():接收post客户端的数据
3. res:
res.send():返回响应的内容
res.json():返回json数据
res.jsonp():返回函数调用,函数通过callback参数指定
res.download():可以给浏览器下载
res.redirect():重定向
res.render():渲染ejs页面