温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Node.js文件系统fs扩展fs-extra怎么使用

发布时间:2022-08-04 10:24:53 来源:亿速云 阅读:846 作者:iii 栏目:开发技术

本篇内容主要讲解“Node.js文件系统fs扩展fs-extra怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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')
})

到此,相信大家对“Node.js文件系统fs扩展fs-extra怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI