首页 > 代码库 > nodejs的目录操作
nodejs的目录操作
- 创建目录(不能创建多级目录)
fs.mkdir(path[,mode],callback) //mode参数表示文件夹的权限,这个只是linux和mac系统下才需要设置。在window下就是777,可读可写可删除,一般设置了也没用
fs.mkdirSync(path,[,mode]) //undefined - 删除目录(删除空文件夹)
fs.rmdir(path,callback)
fs.rmdirSync(path) - 读取目录
fs.readdir(path,[,options],callback)
fs.readdir(path,[,options]) - 删除多级目录
const fs = require("fs"); const removeDir = (dir)=>{ let files = fs.readdirSync(dir);//一个数组 files.forEach((item) => { let file = dir +"/" + item; if(fs.statSync(file).isFile()){ fs.unlinkSync(file); }else{ removeDir(file); } }); fs.rmdirSync(dir); }; removeDir("./project");
- 自动创建目录结构
-
const fs = require("fs"); const config = { name: "blog", data:[ { name: "css", type: "dir" }, { name: "js", type: "dir" }, { name: "images", type: "dir" }, { name: "index.html", type: "file", content : ‘<!DOCTYPE html>\n<html lang="en">\n<head>\n<meta charset="UTF-8">\n<title>Title</title>\n</head>\n <body>\n</body>\n</html>‘ } ] }; //根据配置,自动生成项目目录 if(config.name){ //第一步创建根目录 fs.mkdir(config.name,(err) => { config.data.forEach((item) => { //拼接路径 let file = config.name + "/" +item.name; switch(item.type){ case "dir": fs.mkdirSync(file); break; case "file": fs.writeFileSync(file,item.content,"utf-8"); break; default: break; } }); }); }
- 自动合并代码
const fs = require(‘fs‘); const dir = "./blog/js/src"; const subject = ‘./blog/js/dest/app.js‘; //监听dir这个目录 fs.watch(dir,(evt, filename) =>{ let data = "" ; //保存读取的内容 //遍历dir目录 fs.readdir(dir, (err,files) => { if (err) throw err; //得到的files是一个数组,遍历这个数组 files.forEach( (item) => { //需要拼接,得到文件的完整的路径 let file = dir + "/" + item; //读取文件 data += fs.readFileSync(file,‘utf8‘); }); //遍历完毕,就可以将data写入目标文件 fs.writeFileSync(subject,data,‘utf8‘); }); });
nodejs的目录操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。