###如何能使用nodejs原生的方法而不通过系统命令删除非空文件夹。 难到只能自己写递归删除?
写个递归,还不简单,再封装成模块。 要用的时候,直接导入->调用。
注意: 其实只是用来删空目录的
Warning: ENOTEMPTY, directory not empty ‘dist/images’ Use --force to continue.
简单,就是效率不高
昨天我也遇到了这个问题。。。。只能自己写递归了。。参考司徒正美的博客也可以 http://www.cnblogs.com/rubylouvre/archive/2011/11/28/2264717.html
@tarsean 貌似最好的解决方案就是rimraf模块了。
你们说得太复杂了
rm -rf directorytodelete 子进程执行这个命令就可以了,何必那么的累呢
请看原帖标题。
@bnuhero 我的,然后再问一下为什么要这样删除 我敢说自己递归删除绝对不如系统命令快
const fs=require("fs"); const co=require("zco"); let deleteDir=function(dir){ return co(function *(next) { let [err,stat]=yield fs.stat(dir,next); if(err){ return ; } if(stat.isFile()){ yield fs.unlink(dir,next); return; } let [err1,list]=yield fs.readdir(dir,next); for(let i=0;i<list.length;i++){ yield deleteDir(dir+"/"+list[i])(next); } yield fs.rmdir(dir,next); return ; }) }
为何不用fs-extra?
子进程完美解决~~
都不看内容。。
都不看前面的回复的么… https://www.npmjs.org/package/rimraf 这个模块就 ok 了
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
写个递归,还不简单,再封装成模块。 要用的时候,直接导入->调用。
fs.rmdir(path, callback)
fs.rmdirSync(path)
注意: 其实只是用来删空目录的
简单,就是效率不高
昨天我也遇到了这个问题。。。。只能自己写递归了。。参考司徒正美的博客也可以 http://www.cnblogs.com/rubylouvre/archive/2011/11/28/2264717.html
@tarsean 貌似最好的解决方案就是rimraf模块了。
你们说得太复杂了
rm -rf directorytodelete 子进程执行这个命令就可以了,何必那么的累呢
请看原帖标题。
@bnuhero 我的,然后再问一下为什么要这样删除 我敢说自己递归删除绝对不如系统命令快
为何不用fs-extra?
子进程完美解决~~
都不看内容。。
都不看前面的回复的么… https://www.npmjs.org/package/rimraf 这个模块就 ok 了