Skip to content

fs-extra

介绍

fs-extra 是 Node.js 的一个扩展库,提供了许多额外的文件系统操作功能,增强了原生 fs 模块的能力。

注意事项:

  • fs-extra 是异步操作,所以大多数方法返回的是 Promise,使用 .then().catch() 进行错误处理,或者使用 async/await 语法。
  • 也提供了同步版本的方法,如 removeSyncreadFileSync 等。

快速开始

bash
npm install fs-extra
js
const fse = require('fs-extra')

copy(src, dest[, options][, callback])

复制文件或目录。

  • 参数

    • src (string): 源路径。
    • dest (string): 目标路径。
    • options (object, 可选): 配置项:
      • overwrite (boolean): 是否覆盖,默认 true
      • errorOnExist (boolean): 目标已存在时是否抛错,默认 false
    • callback (function, 可选): 回调函数,接受 err 参数。
  • 返回值Promise

emptyDir(path[, callback])

别名: mkdirs(), mkdirp()

清空目录内容,但不删除目录本身。

  • 参数

    • path (string): 目标目录路径。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

ensureFile(path[, callback])

确保文件存在,如果文件不存在则创建。

  • 参数

    • path (string): 文件路径。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

ensureDir(path[, callback])

确保目录存在,如果目录不存在则创建。

  • 参数

    • path (string): 目标目录路径。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

确保目标路径是一个符号链接,如果目标路径不是符号链接则创建。

  • 参数

    • srcpath (string): 源路径。
    • destpath (string): 目标路径。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

确保目标路径是一个符号链接,如果目标路径不是符号链接则创建。

  • 参数

    • srcpath (string): 源路径。
    • destpath (string): 目标路径。
    • type (string, 可选): 符号链接类型(dirfile)。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

move(src, dest[, options][, callback])

移动文件或目录。

  • 参数

    • src (string): 源路径。
    • dest (string): 目标路径。
    • options (object, 可选): 配置项:
      • overwrite (boolean): 是否覆盖目标文件,默认 true
    • callback (function, 可选): 回调函数。
  • 返回值Promise

outputFile(path, data[, options][, callback])

将数据写入文件,如果文件不存在则创建文件。

  • 参数

    • path (string): 文件路径。
    • data (string|Buffer): 要写入的数据。
    • options (object, 可选): 配置项。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

outputJson(path, object[, options][, callback])

将对象作为 JSON 写入文件,如果文件不存在则创建文件。

  • 参数

    • path (string): 文件路径。
    • object (object): 要写入的对象。
    • options (object, 可选): 配置项。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

pathExists(path[, callback])

检查路径是否存在。

  • 参数

    • path (string): 路径。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

readJson(path[, callback])

读取 JSON 文件并解析为 JavaScript 对象。

  • 参数

    • path (string): JSON 文件路径。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

remove(path[, callback])

删除文件或目录。

  • 参数

    • path (string): 文件或目录路径。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

writeJson(path, object[, options][, callback])

将 JavaScript 对象写入 JSON 文件。

  • 参数

    • path (string): 文件路径。
    • object (object): 要写入的对象。
    • options (object, 可选): 配置项。
    • callback (function, 可选): 回调函数。
  • 返回值Promise

基于 MIT 许可发布