删除文件和目录
使用 globs 删除文件和目录 与 rimraf 类似,但具有 Promise API 和对多个文件和通配符的支持。此外,它还可保护您免受删除当前工作目录及其上层的影响。
npm install delimport {deleteAsync} from 'del';
const deletedFilePaths = await deleteAsync(['temp/*.js', '!temp/unicorn.js']);
const deletedDirectoryPaths = await deleteAsync(['temp', 'public']);
console.log('Deleted files:\n', deletedFilePaths.join('\n'));
console.log('\n\n');
console.log('Deleted directories:\n', deletedDirectoryPaths.join('\n'));全局模式 ** 匹配所有子节点和 父节点。
所以这不会起作用:
deleteSync(['public/assets/**', '!public/assets/goat.png']);您还必须明确忽略父目录:
deleteSync(['public/assets/**', '!public/assets', '!public/assets/goat.png']);要删除 public/ 中的所有子目录,可以执行以下操作:
deleteSync(['public/*/']);关于如何改进此功能的建议欢迎!
请注意,glob 模式只能包含向前斜杠,不能包含向后斜杠。Windows 文件路径可以使用向后斜杠,前提是路径中不包含任何类似 glob 的字符,否则请使用 path.posix.join() 而不是 path.join()。
除了以下选项之外,您还可以指定任何 globby 选项。与 globby 的默认值不同,expandDirectories,onlyFiles 和 followSymbolicLinks 都设置为 false。
暂无开放 Issues,或尚未同步最近议题。