核心模块
核心模块是Node中自带的模块,可以在node中直接使用
console.log(global)
os模块
const os = require("os");
const { filesize } = require("filesize");
function getSystemInfo() {
console.log("当前系统版本:" + os.version());
console.log("当前系统类型:" + os.type());
console.log("机器名称: " + os.hostname());
console.log("平台类型:" + os.platform());
console.log("CPU: " + os.cpus()[0].model);
console.log("本机ip: " + os.networkInterfaces().WLAN[4].address);
console.log("系统已经上线:" + Math.round(os.uptime() / 60 / 60) + "小时");
const totalMem = os.totalmem();
const freeMem = os.freemem();
console.log("剩余内存:" + filesize(freeMem, { unit: "GiB" }));
console.log("总内存:" + filesize(totalMem, { unit: "GiB" }));
// console.log(__dirname + " " + __filename); //获取当前文件目录+ 文件名
}
// exports.getSystemInfo = getSystemInfo;
module.exports = { getSystemInfo }; //导出为对象
// module.exports = getSystemInfo; //导出函数
Process
process模块用来表示和控制当前的node进程。
process.exit([code])
结束进程process.nextTick(callback[, …args])
向tick任务队列中添加任务
console.log(111)
console.log(2222)
console.log(333)
process.exit(0)
console.log(444)
Path和fs
Path
path 路径 | Node.js API 文档 (nodejs.cn)
path.resolve()
const path = require('path');
// path.resolve([...paths]) 用来生成一个绝对路径
//如果直接调用resolve,返回当前的工作目录
const result = path.resolve()
console.log(result)//D:\git\note\Front\webstorm
//如果将一个相对路径作为参数,resolve会自动把它转换为绝对路径
const result2 = path.resolve('./main.js')
console.log(result2) //D:\git\note\Front\webstorm\main.js
//一般会将一个绝对路径作为第一个参数,一个相对路径作为第二个参数,这样它会自动计算出最终的路径
const result3 = path.resolve(__dirname,'./main.js');
console.log(result3);//D:\git\note\Front\webstorm\main.js
path.extname(path)
const path = require('path');
extname = path.extname('index.html')
console.log(extname); //.html
path.basename(path[, suffix])
path.basename()
方法返回 path
的最后一部分,类似于 Unix basename
命令。 尾随 目录分隔符 被忽略。
path.basename('/foo/bar/baz/asdf/quux.html');
// 返回: 'quux.html'
fs
fs 文件系统 | Node.js API 文档 (nodejs.cn)
readFile
同步方法
const fs = require("fs");
const path = require("path");
const buf = fs.readFileSync(path.resolve(__dirname,"index.html")) //同步的方法
console.log(buf.toString())
异步方法
const fs = require("fs");
const path = require("path");
fs.readFile(path.resolve(__dirname,"index.html"),(err,buffer)=>{
if(err){
console.log("erro")
}else {
console.log(buffer.toString())
}
})
writeFile
写入文件
const fs = require("fs");
const path = require("path");
//配置参数:
/*
* a :追加
* w :写入
* r :读取
* */
//同步
//创建: writeFile(文件名,写入内容,配置参数) 同步
str = "helloworld";
try {
fs.writeFileSync(path.resolve(__dirname, "./hello.txt"), str, {flag: "w"});
console.log(`写入 ${str} 成功`)
} catch (e) {
return console.error(e);
}
//创建: writeFile(文件名,写入内容,配置参数,回调函数) 异步
//配置参数:
/*
* a :追加
* w :写入
* r :读取
* */
// 追加写入
str = "hellowrold!!!";
fs.writeFile(path.resolve(__dirname,"./hello.txt"),str,{flags:'w'},(err)=>{
if(err){
console.log(err);
}else {}
console.log("写入成功")
})
rename
重命名
const fs = require('fs');
const path = require('path');
//第一个参数是要修改的文件,第二个参数是要修改成什么文件名,最后一个是一个回调函数
fs.rename(path.resolve(__dirname,"./1.txt"),"hello.txt",(err)=>{
if(err){
console.log(err)
}else {
console.log("修改成功")
}
})
unlink
删除文件
const fs = require('fs');
const path = require('path');
fs.unlink(path.resolve(__dirname,"./hello.txt"),(err)=>{
if(err){
return console.log(err);
}else {
console.log("删除成功")
}
})
appendFile
创建新文件或者在已有文件中追加数据
const fs = require('fs');
const path = require('path');
const data = "very googd"
fs.appendFile(path.resolve(__dirname,"hello.txt"),data,(err)=>{
if(err){
console.log(err)
}else {
console.log("添加成功")
}
})
mkdir
创建目录
const fs = require('fs');
const path = require('path');
fs.mkdir("./create",(err)=>{
if(err){
console.log(err);
return;
}else {
console.log("目录生成成功")
}
});
上面代码会在当前目录创建create
目录
rmdir
const fs = require('fs');
const path = require('path');
fs.rmdir("./create",(err)=>{
if(err){
console.log(err);
return;
}else {
console.log("目录生成成功")
}
});
上面代码会在当前目录下删除create
目录
copyFile
const fs = require('fs');
const path = require('path');
//复制一个文件
fs.copyFile("./resources/back.jpg","./copied.jpg",(err)=>{
if(err){
console.log(err)
}else {
console.log("wrong")
}
})
这个会把resources
目录下的back.jpg
复制到当前目录下