做前端开发的童鞋都知道,js是运行在浏览器沙盒环境之中,所以客户端的js没有权限操作磁盘文件。但是强大的nodeJS作为服务器端语言,原生自带文件系统(fs 模块),可以很轻松对文件进行CRUD。 本章就是讲述使用nodejs对文件进行拷贝复制操作。

Node-fs

1. copyFile

异步API:fs.copyFile(src, dest[, mode], callback) 异步API:fs.copyFileSync(src, dest[, mode])

提示: 默认情况下将创建或覆盖

// 异步 fs.copyFile('./src/index.js','./dist/index.js',function(err){ if(err) console.log(err) else console.log('copy file succeed'); }) // 同步 fs.copyFileSync('01/test.txt', '02/test.txt'); console.log('copy success');

2. readFile、writeFile

fs.readFile('./src/index.js',function(err,data){ if(err) throw new Error(err); fs.writeFile('./dest/index.js',data,function(err){ if(err) throw new Error(err); }) })

3. createReadStream、read、write

var file = createReadStream('./src/index.js'); var out = createWriteStream('./dist/index.js'); file.on('data',function(data){ out.write(data) }); file.on('end',function(){ out.end(); })

4. pipe

let file = createReadStream('./src/index.js'); let out = createWriteStream('./dist/index.js'); file.pipe(out);

5. cp-file

  • 安装
$ npm install cp-file
  • 使用
const cpFile = require('cp-file'); (async () => { await cpFile('source/unicorn.png', 'destination/unicorn.png'); console.log('File copied'); })();
  • 参考文档:
  1. http://nodejs.cn/api/fs.html
  2. https://www.npmjs.com/package/cp-file

欢迎访问:个人博客地址