fs-extra -- 文件操作相关工具库
项目地址:
fs-extra模块是系统fs模块的扩展,提供了更多便利的 API,并继承了fs模块的 API
安装:
npm install --save-dev fs-extra
使用:
var fse = require('fs-extra')
API:
1. copy 复制文件
copy(src, dest, [option],callback)
option:
- clobber (boolean): 覆盖现有的文件或目录,默认true
- dereference (boolean): dereference symlinks, default is false
- preserveTimestamps (boolean): 最后修改和访问时间和原始的源文件一致,默认为false
- filter: 函数或正则表达式过滤复制文件,返回true包含,否则排除
同步:
copySync()
示例:
var fs = require('fs-extra');
fs.copy('/tmp/myfile', '/tmp/mynewfile', function (err) {
if (err) return console.error(err);
console.log("success!")
}) //拷贝文件
fs.copy('/tmp/mydir', '/tmp/mynewdir', function (err) {
if (err) return console.error(err)
console.log('success!')
}) //拷贝目录
2. emptyDir 清空目录
确保一个目录是空的。如果目录非空删除目录内容。如果目录不存在,就创建一个。目录本身并不是删除。
异步:
emptydir()
同步:
emptyDirSync(), emptydirSync()
示例:
var fs = require('fs-extra')
//假设这个目录下有很多文件和文件夹
fs.emptyDir('/tmp/some/dir', function (err) {
if (!err) console.log('success!')
})
3. ensureFile 创建文件
确保文件存在。如果被请求的文件的目录不存在,创建这些目录。如果文件已经存在,它不修改。
异步:
createFile()
同步:
createFileSync(),ensureFileSync()
示例:
var fs = require('fs-extra');
var file = '/tmp/this/path/does/not/exist/file.txt';
fs.ensureFile(file, function (err) {
console.log(err) ;
})
4. ensureDir 创建目录
确保目录的存在。如果目录结构不存在,就创建一个。
**同步: **
ensureDirSync()
示例:
var fs = require('fs-extra');
var dir = '/tmp/this/path/does/not/exist';
fs.ensureDir(dir, function (err) {
console.log(err);
})