主题
fs
fs 的一些操作
javascript
// 路径操作相关的
// 1. 读写文件,./ / 会报错的时候用用
// 2. 处理盘符 linux macOS / win \\
import path from "path";javascript
/*
resolve
拼接路径用的
process.cwd
获取当前命令行执行的前缀目录
__dirname __filename
只能在 cjs 中使用
*/
console.log(path.resolve("/a/b", "../"));
console.log(process.cwd());
console.log(path.resolve(process.cwd(), "./package.json"));
// console.log( __dirname, __filename )文件操作相关
javascript
import fs from "fs";
fs.readFile(path.resolve(process.cwd(), "./package.json"), "utf8", (e, res) => {
if (e) {
return console.error(e);
}
console.log("package.json", res);
});fs/promises
javascript
import fs from "fs/promises";读取文件
javascript
/*
* 读取文件
* path 读取文件的全路径
* encode 字符集
*/
fs.readFile(path.resolve(process.cwd(), "./package.json"), "utf8")
.then((res) => {
console.log("package.json", res);
})
.catch((err) => {
console.log(err);
});写入文件
javascript
/*
* path 写入文件的全路径
* data 写入的内容,需要是字符串
* encode 字符集
*/
fs.writeFile(
path.resolve(process.cwd(), "./a.html"),
"<html></html>",
"utf8"
).catch((err) => {
console.log(err);
});复制粘贴
javascript
/*
* 读取文件路径
* 写入文件路径
*/
fs.copyFile(
path.resolve(process.cwd(), "./package.json"),
path.resolve(process.cwd(), "./package22.json")
).catch((err) => {
console.log(err);
});删除文件
javascript
fs.rm(path.resolve(process.cwd(), "./package22.json"), {
force: true, //如果删除的文件不存在,是否忽略异常
recursive: true, //如果是文件夹,是否应该递归的进行删除
});修改文件内容
javascript
fs.readFile(path.resolve(process.cwd(), "./package.json"), "utf8").then(
(res) => {
let content = JSON.parse(res);
content["scripts"].dev = "yarn install";
setTimeout(() => {
fs.writeFile(
path.resolve(process.cwd(), "./package.json"),
JSON.stringify(content),
"utf8"
).catch((err) => {
console.log(err);
});
}, 1000);
}
);