1.path模块
使用: var path = require('path');
(1)path.resolve:将一系列路径或路径段解析为绝对路径。
注意:
1、存在多个路径段时,只有最右边的有效
2、如果没有参数传递,path.resolve()将返回当前工作目录的绝对路径
3、如果调用后没有产生绝对路径,如:path.resolve("index.html"),则会默认拼上当前工作目录的绝对路径,效果等同于:path.resolve(__dirname, "index.html")
如以下示例:
path.resolve("/dist", "/index"); // D:\index
path.resolve("/dist", "index"); // D:\dist\index
path.resolve("/dist", "/index", 'index.html') // D:\index\index.html
path.resolve("/dist", "index", 'index.html') // D:\dist\index\index.html
path.resolve() // D:\changework\muchEntry\config
path.resolve("index.html") // D:\changework\muchEntry\config\index.html
path.resolve(__dirname, "index.html") // D:\changework\muchEntry\config\index.html
(2)path.join:使用特定于平台的分隔符作为分隔符将所有给定的段连接在一起,然后规范化生成的路径。
支持传入. ./ .. ../
path.join("dist", "index", "index.html") // dist\index\index.html
path.join("dist", "index", "index.html", ".") // dist\index\index.html
path.join("dist", "index", "index.html", "./") // dist\index\index.html\
path.join("dist", "index", "index.html", "..") // dist\index
path.join("dist", "index", "index.html", "../") // dist\index\
(3)path.basename:返回path的最后一部分,通常用于获取文件名,尾随目录分隔符被忽略。
格式:path.basename(path, ext)
path::路径
ext:可选的文件扩展名,若成功匹配,则最后获取的字符串将会不会带上文件扩展名
path.basename("/dist/index/index/index.html") // index.html
path.basename("/dist/index/index/index.html", '.html') // index
(4)path.dirname:返回给定路径除最后一段的部分。
path.dirname("/dist/index/index.html") // /dist/index
path.dirname("/dist/index/") // /dist
(5)path.extname:返回给定路径下"."出现的最后一次的位置之后的字符串。
path.extname("/dist/index/index/index.html") // .html
(6)path.format:通过传入对象返回制定规则路径字符串。
格式:
path.format({
dir: " ". //路径
root: " ", //根地址
base: " ", //文件名+扩展名
name: " ", //文件名称
ext: " " //文件扩展名
})注意:
1、如果存在dir,root设置的值则被忽略。
2、如果存在base,name以及ext设置的值则被忽略。
path.format({
dir: "/dist/index",
base: "index.html"
}) // /dist/index\index.html
path.format({
root: "/dist/",
name: "index2",
ext: ".txt"
}) // /dist/index2.txt
path.format({
root: "/dist2/",
dir: "dist/index",
base: "index.html",
name: "index2",
ext: ".txt"
}) // dist/index\index.html
(7)path.parse:将给定的路径转化为一个对象,如之前path.format传参对象格式。
path.parse("/dist/index/index.html")
/*
{
root: '/',
dir: '/dist/index',
base: 'index.html',
ext: '.html',
name: 'index'
}
*/
2、url模块
使用: var url = require('url');
类似于浏览器环境下window.location,用来处理或者获取url相关信息。
(1)url.parse:将给定的url转化为一个URL对象,效果类似于new URL(url)
var url = require("url");
var testUrl = "http://192.168.1.124:3000/Web_WorkPlatform/html/index/?lg_tk=D266C76B-8C4F-4827-A982-E5B88B6CC571#/communication";
console.log(url.parse(testUrl));
【注:url.parse(url, true)可以让query中的字符串转成对象格式,方便读取参数,在处理get请求参数时经常使用】
(2)URLSearchParams:用于快捷构造url参数
格式:new URLSearchParams(iterable)
iterable: 可以是一个数组或者任何迭代对象
let { URLSearchParams } = require('url');
let paramStr = new URLSearchParams({
name: 'pzw',
age: '265'
}).toString();
console.log(paramStr);
可以使用set,get,delete,append,entries,has对URLSearchParams实例进行操作。
3、http模块
通常我们使用http模块用于创建一个服务器脚本。
let http = require('http');
let server = http.createServer();
server.on('request', function(req, res){
//req 请求对象
//res 响应对象
res.write("hello server");
res.end();
})
server.listen(8888, function(){
console.log('server is running at port 8888');
})
4、fs模块
js模块用于处理文件的读写。
(1)fs.readFile(path, rule, callback)
path: 读取文件的路径
rule:读取文件的格式类型
callback: 读取文件后的回调函数,通常接收2个参数,error和data
let fs = require('fs');
fs.readFile('data.txt', 'utf-8', function(error, data){
if(error){
console.log(error);
return;
}
console.log(data);
})
(2)fs.writeFile(),用法与fs.readFile相同,用于编写文件内容
let fs = require('fs');
fs.readFile('data.txt', 'utf-8', function(error, data){
if(error){
console.log(error);
return;
}
let newData = data + ";我是编辑后的内容";
fs.writeFile('data.txt', newData, 'utf-8', function(error){
if(error){
console.log(error);
return;
}
})
})
(3)fs.existsSync(path):检测该path是否存在
(4)fs.mkdirSync(path):根据path创建一个文件夹
(5)fs.readdirSync(path):读取path目录下所有文件,返回一个数组
(6)fs.unlinkSync(path):删除文件
(7)fs.rmdirSync(path):删除文件夹
【注:当文件夹内含有文件时,直接调用rmdirSync会失败,需要添加options参数,fs.rmdirSync(path, {recursive: true})】
(8)fs.createWriteStream(path):创建文件可写流,可用于新建文件,返回一个对象,可利用write()写入数据,close()关闭。