Node.js文件系统fs扩展fs-extra说明
fs-extra 是fs 的扩展,继承了 fs 所有方法并为这些方法添加了 promise 语法
安装
npm i fs-extra
使用
const fse = require('fs-extra')
Async 方法
copy
emptyDir
ensureFile
ensureDir
ensureLink
ensureSymlink
mkdirp
mkdirs
move
outputFile
outputJson
pathExists
readJson
remove
writeJson
主要介绍异步的相关方法
方法
方法的具体使用,可以看官方文档详细介绍,这里只是简单介绍一下这些方法的使用和作用
copy()
copy(src:string, dest:string, [options:object, callback:function])
注意:src 如果是目录,它将复制此目录内的所有内容,而不是整个目录本身;dest 注意的是 ,如果 src 是文件, dest 则不能是目录
复制文件或目录,目录可以包含内容
// 复制文件 fse.copy('old.txt', 'new.txt', err => { if (err) throw err console.log('success') }) // 复制目录,目录可以包含内容 fse.copy('utils', 'newutils', err => { if (err) throw err console.log('success') }) // promise fse.copy('utils', 'newutils') .then(() => { console.log('success') }) .catch(err => { console.log(err) }) // async/await async function test () { try { await fse.copy('utils', 'newutils') console.log('success') } catch (err) { console.log(err) } } test()
emptyDir()
emptyDir(dir:string, [callback:function])
确保目录为空,如果目录不为空,则删除目录内容。如果该目录不存在,则创建该目录。目录本身不会被删除
实例
fse.emptyDir('newutils', err => { if (err) throw err console.log('success') })
ensureFile()
ensureFile(file:string, [callback:func])
确保文件存在,如果请求创建的文件位于不存在的目录中,则会创建这些目录。如果该文件已存在,则不进行修改
实例
fse.ensureFile('newutils/seq.js', err => { if (err) throw err console.log('success') })
ensureDir()
ensureDir(dir:string, [callback:func])
如果目录结构不存在,则创建它,如果目录存在,则不进行创建
等同于 mkdirs()、mkdirp()
实例
fse.ensureDir('newutil', err => { if (err) throw err console.log('success') })
move()
move(src:string, dest:string, [options:object, callback:func])
移动文件或目录
实例
fse.move('newutils/seq.js', 'newutil/seq.js', err => { if (err) throw err console.log('success') })
outputFile()
outputFile(file:string, data:string|Buffer|Uint8Array, [options:String|object, callback:func])
写入文件数据,如果父级目录不存在,则创建它。file 必须是文件路径,不允许使用缓冲区或文件描述符
实例
fse.outputFile('newutil/seq.js', 'hello, Node.js', err => { if (err) throw err console.log('success') })
outputJson()
outputJson(file:string, object:object, [options:object, callback:func])
写入JSON 文件 JSON 数据,默认 w 模式,会覆盖文件原有内容;如果目录不存在,会被创建
实例
fse.outputJson('newutil/seq.json', { name: 'duli' }, err => { if (err) throw err console.log('success') })
writeJson()
writeJson(file, object, [options, callback])
将对象写入 JSON 文件,几乎与 outputJson 相同,除了必须保证目录存在外
实例
fse.writeJSON('newutil/seq.json', { name: 'cc' }, err => { if (err) throw err console.log('success') })
pathExists()
pathExists(file:string, [, callback:func])
检查文件系统来测试给定路径是否存在
实例
fse.pathExists('newutil/seq.js', (err, exists) => { if (err) throw err console.log(exists) })
readJson()
readJson(file:string, [options:object, callback:func])
读取 JSON 文件,然后将其解析为对象
实例
fse.readJson('newutil/seq.json', (err, obj) => { if (err) throw err console.log(obj) console.log(typeof obj) })
remove()
remove(path:String, [callback:func])
删除文件或目录,该目录可以包含内容
实例
fse.remove('new.txt', err => { if (err) throw err console.log('success') })
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
npm报错:无法将"npm"项识别为cmdlet、函数、脚本文件或可运行程序的名称
这篇文章主要给大家介绍了关于npm报错:无法将"npm"项识别为cmdlet、函数、脚本文件或可运行程序的名称的相关资料,文中将解决的办法介绍的非常详细,需要的朋友可以参考下2023-02-02Node.js命令行/批处理中如何更改Linux用户密码浅析
这篇文章主要给大家介绍了关于Node.js命令行/批处理中如何更改Linux用户密码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-07-07
最新评论