Tiven

Tiven

博观而约取,厚积而薄发

天问的个人网站(天问博客),专注于Node.js、Vue.js、React、Vite、Npm、Nginx等大前端技术。不断学习新技术,记录日常开发问题,持续分享coding,极客开源,共同进步。生命不息,奋斗不止... [ hexo blog ]

fs-extra 文件操作的常用API


fs-extra 是一个比 node 内置 fs 模块更安全、更强大的文件操作库,支持 promiseasync/await,为使用者免去了很多心理负担。

fs-extra

一、安装使用

安装:

pnpm add fs-extra

文件复制代码演示:

const {
  copy,
  copySync
} = require('fs-extra')

// 异步
copy('/tmp/myfile', '/tmp/mynewfile', err => {
  if (err) return console.error(err)
  console.log('success!')
})

// 同步
try {
  copySync('/tmp/myfile', '/tmp/mynewfile')
  console.log('success!')
} catch (err) {
  console.error(err)
}

二、常用API

  1. copy : 复制文件或目录,目录可以包含内容。
  2. emptyDir : 确保目录为空。如果目录不为空,则删除目录内容。如果该目录不存在,则创建该目录。目录本身不会被删除。
  3. ensureDir : 确保目录存在。如果目录结构不存在,则创建它。
  4. ensureFile : 确保文件存在。如果请求创建的文件位于不存在的目录中,则会创建这些目录。如果文件已存在,则不会对其进行修改。
  5. ensureLink : 确保链接存在。如果目录结构不存在,则创建它。
  6. ensureSymlink : 确保符号链接存在。如果目录结构不存在,则创建它。
  7. move : 移动文件或目录,甚至跨设备移动。
  8. outputFile : 几乎与(即它覆盖)相同 writeFile ,只是如果父目录不存在,则会创建它。 file 必须是文件路径(不允许使用缓冲区或文件描述符)。
  9. outputJson : 与 几乎 writeJson 相同,只是如果目录不存在,则会创建该目录。
  10. pathExists : 通过检查文件系统来测试给定路径是否存在。
  11. readJson : 读取 JSON 文件,然后将其分析为对象。
  12. remove : 删除文件或目录。目录可以包含内容。如果路径不存在,则静默不执行任何操作。
  13. writeJson : 将对象写入 JSON 文件。

同步方法在对应方法后面加上 Sync 即可,如:copySyncemptyDirSync 等。

参考文档:https://github.com/jprichardson/node-fs-extra


欢迎访问:天问博客