Appearance
前置库
1. fs-extra
文件读写推荐使用fs-extra
,地址:https://www.npmjs.com/package/fs-extra
安装方式: pnpm add fs-extra
1.1 fs-extra
对比fs
增强在什么地方?
- Promise 支持:
fs-extra
提供了所有方法的 Promise 版本,这意味着你可以使用 async/await 语法来编写更清晰、更简洁的异步代码,而不必依赖回调函数。 - 递归操作:
fs-extra
提供了递归创建和删除目录的方法,如mkdirs
和rmrf
(现在分别是 mkdirp 和 rimraf),而原生的fs
模块需要你自己来实现这些功能。 - 复制文件和目录:
fs-extra
有一个copy
方法,可以用于复制文件和目录,包括递归复制整个目录树。 - 移动文件和目录:
fs-extra
提供了一个move
方法,用于移动文件和目录,这在原生的 fs 模块中是不直接支持的。 - 检查路径类型: fs-extra 提供了一个 pathExists 方法,用于检查路径是否存在,以及它是文件还是目录。
- 更多的实用工具: fs-extra 还提供了其他一些有用的工具函数,例如 emptyDir(清空目录内容)、ensureFile(确保文件存在,如果不存在则创建)、outputFile(将内容写入文件,如果文件不存在则创建)等。
- 更好的错误处理: 在某些情况下,fs-extra 提供了更好的错误处理,它尝试解决一些在 fs 模块中抛出错误的情况。
fs-extra
的目标是提供一个完整的文件操作解决方案,让开发者能够更容易地进行文件系统操作,而不必重复造轮子。它被设计为与 fs 模块兼容,所以你可以无缝地替换 require('fs') 为 require('fs-extra'),并开始使用这些额外的功能。