摘要:本文要实现的内容是使用nodejs对文件进行增删改查,并演示实例-》html中脚本和样式的内容分离文件,然后分别生成js文件和css文件。中间处理异步api-》async/await,Promise项目托管:extract-js-css,欢迎star直接上传代码://extract-js-css//importfsfrom'fs'varfs=require('fs')//从'csscomb'导入csscomb//varcsscomb=require('csscomb')//varcomb=newcsscomb('zen');//console.log(comb)//删除文件constdeleteFile=(path)=>{returnnewPromise(resolve=>{fs.unlink(path,(err)=>{if(err){console.log(err)return};console.log(`成功删除${path}文件`);resolve()});})}//删除文件夹constdeleteDir=async(path)=>{let_files=awaitnewPromise(resolve=>{fs.readdir(path,(err,files)=>{if(err){console.log(err)};console.log(`成功读取${path}文件夹`);resolve(files)})})if(_files&&_files.length){for(leti=0;i<_files.length;i++){//console.log(_files[i],'innnnnn')awaitdeleteFile('./test/'+_files[i])}}//console.log('deletehou')awaitnewPromise(resolve=>{fs.rmdir(path,(err)=>{if(err){console.log(err)};console.log(`成功删除空${path}文件夹`);resolve()})});}constemptyDir=(path)=>{returnnewPromise(resolve=>{fs.rmdir(path,(err)=>{if(err){console.log(err)};console.log(`成功删除空${path}文件夹`);resolve()})})}//新建文件夹/****/constmkdirTest=()=>{returnnewPromise(resolve=>{fs.mkdir('./test',{recursive:true},(err,data)=>{if(err){console.log(err)};console.log('创建文件夹成功')resolve()})})}//读取html内容/****/constreadHtml=()=>{returnnewPromise(resolve=>{fs.readFile('./test.html','utf-8',(err,data)=>{if(err){throwError(err)}console.log('test.html读取成功!--NO1')resolve(data)})})}//写入css和js/***向文件追加内容*@param{是文件名}path*@param{写入文件内容}data*@param{文件类型}type*@authorerlinger*@time*/constappendFile=(path,data,type)=>{returnnewPromise(resolve=>{fs.appendFile(path,data,(err)=>{if(err){console.log(err)};console.log(`${type}datahasbeenappendedtofile`);resolve()});})}//writeahtmlconstwriteHtml=(path,data)=>{returnnewPromise(resolve=>{fs.writeFile(path,data,(err)=>{if(err){console.log('err',err)return}console.log(`${path}写入成功,函数结束!`);resolve()//必须解析否则promise到此结束,调用该方法后的代码将不会被执行})})}//插件方法入口(async()=>{console.log('===========================游戏开始===============================');awaitdeleteDir('./test');console.log('我应该等待---删除文件夹后---出现')awaitmkdirTest();console.log('我应该在---文件夹创建成功---之后出现!');letcssReg=/
