Skip to main content

fs-extra

官方文档

基础使用

安装

npm install fs-extra

API 列表

异步同步说明备注
copycopySync复制文件
emptyDiremptyDirSync判断是否为空目录
ensureFileensureFileSync检查文件,如果不存在则创建
ensureDirensureDirSync检查目录,如果不存在则创建
ensureLinkensureLinkSync检查链接
ensureSymlinkensureSymlinkSync检查链接
mkdirpmkdirpSync创建文件
mkdirsmkdirsSync创建文件
movemoveSync移动文件
outputFileoutputFileSync
outputJsonoutputJsonSync
pathExistspathExistsSync
readJsonreadJsonSync
removeremoveSync
writeJsonwriteJsonSync

常用API

复制文件

const fs = require('fs-extra')

// promise写法s:
fs.copy('/tmp/myfile', '/tmp/mynewfile')
.then(() => console.log('success!'))
.catch(err => console.error(err))

// Async with callbacks异步callback写法:
fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
if (err) return console.error(err)
console.log('success!')
})

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

// Async/Await写法:
async function copyFiles () {
try {
await fs.copy('/tmp/myfile', '/tmp/mynewfile')
console.log('success!')
} catch (err) {
console.error(err)
}
}

copyFiles()

删除文件

const fse = require('fs-extra')

await fse.remove(file_path)

fs.removeSync(file_path)

JSON处理

将数据写入成json格式

const data = {
name:"capsion"
}

fs.writeJsonSync('file_path', data)
// 不带缩进的存储
// { "name":"cpasion" }

fs.writeJsonSync('file_path', data, {space:" "})
// 带缩进的存储
//{
// "name":"cpasion"
//}