将原生的 fs 模块进行了简单的 promise 封装,可以快速的使用 async_await 模式。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| let fs = require('fs')
function read(path) { return new Promise(function (resolve, reject) { fs.readFile(path, { flag: 'r', encoding: 'utf-8' }, function (err, data) { if (err) { reject(err) } else { resolve(data) } }) }) }
function write(path, content) { return new Promise(function (resolve, reject) { fs.writeFile(path, content, { flag: 'a', encoding: 'utf-8' }, function ( err ) { if (err) { reject(err) } else { resolve() } }) }) }
function mkdir(path) { return new Promise(function (resolve, reject) { fs.mkdir(path, function (err) { if (err) { reject(err) } else { resolve() } }) }) }
function rename(oldPath, newPath) { return new Promise(function (resolve, reject) { fs.rename(oldPath, newPath, function (err) { if (err) { reject(err) } else { resolve() } }) }) }
function readdir(path, options) { return new Promise(function (resolve, reject) { fs.readdir(path, options, function (err, files) { if (err) { reject(err) } else { resolve(files) } }) }) } module.exports = { read, write, mkdir, rename, readdir, }
|
已经上传到了 npm
可直接使用 npm install nodefstool
进行安装!