主题
fs-extra
介绍
fs-extra
是 Node.js 的一个扩展库,提供了许多额外的文件系统操作功能,增强了原生 fs
模块的能力。
注意事项:
fs-extra
是异步操作,所以大多数方法返回的是 Promise,使用.then()
和.catch()
进行错误处理,或者使用async/await
语法。- 也提供了同步版本的方法,如
removeSync
、readFileSync
等。
快速开始
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
ensureLink(srcpath, destpath[, callback])
确保目标路径是一个符号链接,如果目标路径不是符号链接则创建。
参数:
srcpath
(string): 源路径。destpath
(string): 目标路径。callback
(function, 可选): 回调函数。
返回值:
Promise
ensureSymlink(srcpath, destpath[, type][, callback])
确保目标路径是一个符号链接,如果目标路径不是符号链接则创建。
参数:
srcpath
(string): 源路径。destpath
(string): 目标路径。type
(string, 可选): 符号链接类型(dir
或file
)。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