对文件常规操作辅助工具库 io helper
npm install io-helper1. 所有异步方法均采用promise化接口
2. 对文件的增删改操作,递归文件路径操作 等等
3. 未使用sync结尾的方法或者未说明是同步方法的一定是返回promise的异步方法
4. 如果参数名以is开头说明一定是boolean类型
$ npm install --save io-helper
``javascript`
import ioHelper from 'io-helper'
#### fs
> fs 对应 import * as fs from 'fs-extra-promise'
#### pathTool
nodejs内置path模块的别名
> pathTool 对应 import * as pathTool from 'path'
#### join
同步路径拼接
join(...path) string
- 返回
#### resolve
同步获取路径拼接后的绝对路径
resolve(...path)string
- 返回
#### relative
同步获取两个路径之间的相对路径
relative(fromPath, toPath) string
- 返回
#### globby
路径特征查找
globby(patterns: string | Array{ dot: true, silent: true, strict: false, ...options }
- options glob
- patterns:参见模块对应pattern参数 globby
- 选项参考 库 Promise
- 返回 文件数组
#### renameSync
renameSync(dirname, oldFilename, newFilename)z.js
- 同步重命名文件 /xx/yy/z.js
- dirname:文件的目录 /xx/yy/
- oldFilename: 文件原名 new.js
- newFilename: 新文件名
#### rename
rename(dirname, oldFilename, newFilename)z.js
- 异步重命名文件 /xx/yy/z.js
- dirname:文件的目录 /xx/yy/
- oldFilename: 文件原名 new.js
- newFilename: 新文件名
#### move
移动文件或者目录
move(fromPath, toPath, options?) {overwrite:true}
- fromPath: 源路径 xxxx/xxx/1.txt
- toPath: 目的路径 自动创建路径 qqq/yyyy只移动不改名 或者 qqq/yyy/222.txt移动并且改名
- options: 覆盖同名文件
#### readLine
逐行读取文本
readLine(filePath, cb)cb(line)
- filePath: 文件的路径
- cb: 读取每一行时的回调 line:每一行的字符串
- 返回 Promise<[string]>
#### findRecurseSync
递归查找文件目录
findRecurseSync(path:string, filter?:string)filter = filter || '*/.*'
- filter: glob库的pattern特性串[{ pathName, filePath, relative, fileName, isFolder, isFile,fileName}]
- 返回
#### findRecurseTreeSync
同步递归查找目录返回树形数据结构
- 返回:[{fileName,filePath,isFile,pathName,relative,chidren:[与自身相同结构]}]
#### makeDir
创建路径递归
makeDir(directory)
- directory:要创建的路径
#### makeDirSync
同步创建路径递归
makeDirSync(directory)
- directory:要创建的路径
#### exists
文件存在判断
exists(path) Promise
- 返回
#### getDirName
获取目录地址
getDirName(path:string|[string])require('path').dirname
- 与 使用一致
- 此方法加入是为了支持path参数 可以是一个数组
#### replaceFileNameExt
替换文件类型
replaceFileNameExt(filePath, newExt)/xxx/xxx/a.jpg
- filePath: 文件路径 如 .png
- newExt: 新文件后缀 如
#### copy
异步复制文件
copy(path, toPath)
- path: 源路径
- toPath: 目标路径
#### readFile
读取文件内容
readFile(path)Promise
- 返回 utf编码
- 默认用
#### readFileStream
读取一个文件返回流
readFileStream(path:string)
- path: 文件路径
#### saveFile
保存文件
saveFile(path, content)
#### delete
删除文件或文件夹
delete(path)
- path: 文件夹路径 或者 具体的文件路径
#### writeFile
写文件或者在新行追加文件
async writeFile(path, content:string, isAppend = false)
- 需要使用 await 调用
- path: 文件路径
- content: 字符串内容
- isAppend: 是否追加否则覆盖 默认是覆盖
#### replaceSep
将反斜杠 替换为正斜杠
replaceSep(path)`
- path: 文件路径
- 返回 Promise