UNPKG

yhd-cli

Version:

create a vue or react project fastly

97 lines 1.9 kB
'use strict'; let fs = require('fs'); /** * 写文件操作 * @param pathname * @param data * @param options * @returns {Promise} */ exports.writeFile = (pathname,data,options)=> { return new Promise((resolve,reject)=> { fs.writeFile(pathname,data,options,(err)=> { if(err){ reject(err); }else{ resolve(); } }); }); }; /** * 读取文件内容 * @param pathname * @returns {Promise} */ exports.readFile = (pathname)=> { return new Promise((resolve,reject)=> { fs.readFile(pathname,(err,data)=>{ if(err){ reject(err); }else{ resolve(data); } }); }); }; /** * 删除空文件夹 * @param pathname * @returns {Promise} */ exports.rmdir = (pathname)=> { return new Promise((resolve,reject)=> { fs.rmdir(pathname,(err)=>{ if(err){ reject(err); throw new Error(err); }else{ resolve(); console.log('rm dir successed'); } }); }); }; /** * 读取文件夹里面的内容 * @param pathname * @returns {Promise} */ exports.readdir = (pathname)=> { return new Promise((resolve,reject)=> { fs.readdir(pathname,(err,files)=>{ if(err){ reject(err); throw new Error(err); }else{ resolve(files); } }); }); }; /** * 递归删除文件夹 * @param path */ const deleteFolderRecursive = function(path) { var files = []; if( fs.existsSync(path) ) { files = fs.readdirSync(path); files.forEach(function(file,index){ var curPath = path + "/" + file; if(fs.statSync(curPath).isDirectory()) { // recurse deleteFolderRecursive(curPath); } else { // delete file fs.unlinkSync(curPath); } }); fs.rmdirSync(path); } }; /** * 删除非空文件夹 * @param pathname */ exports.rmfolder = (pathname)=> { deleteFolderRecursive(pathname); };