Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

4.18. copy-dir

install

		
npm install copy-dir		
		
		

usage

		
Sync:

var copydir = require('copy-dir');
 
copydir.sync('/my/from/path', '/my/target/path');
Async:

var copydir = require('copy-dir');
 
copydir('/my/from/path', '/my/target/path', function(err){
  if(err){
    console.log(err);
  } else {
    console.log('ok');
  }
});
add a filter
When you want to copy a directory, but some file or sub directory is not you want, you can do like this:

Sync:

var path = require('path');
var copydir = require('copy-dir');
 
copydir.sync('/my/from/path', '/my/target/path', function(stat, filepath, filename){
  if(stat === 'file' && path.extname(filepath) === '.html') {
    return false;
  }
  if (stat === 'directory' && filename === '.svn') {
    return false;
  }
  return true;
}, function(err){
  console.log('ok');
});
Async:

var path = require('path');
var copydir = require('copy-dir');
 
copydir('/a/b/c', '/a/b/e', function(stat, filepath, filename){
  //... 
}, function(err) {
  //... 
});