javascript 相对副本(递归)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 相对副本(递归)相关的知识,希望对你有一定的参考价值。

/**
 * Copy files maintaining relative paths
 *
 * @param {String} fileGlob The pattern to match the desired files
 * @param {String} from The current location
 * @param {String} to The destination
 * @return {Promise}
 */
function relativeCopy(fileGlob, from, to) {
  return new Promise((resolve, reject) => {
    glob(fileGlob, { cwd: from, nodir: true }, (err, files) => {
      if (err) reject(err);
      files.forEach(file => {
        const origin = path.join(from, file);
        const dest = path.join(to, file);
        const data = fs.readFileSync(origin, 'utf-8');
        recursiveMkDir(path.dirname(dest));
        fs.writeFileSync(dest, data);
        resolve();
      })
    })
  });
}


/**
 * Recursively create directories
 *
 * @param {String} dir The directory path to create
 */
function recursiveMkDir(dir) {
  if (!fs.existsSync(dir)) {
    recursiveMkDir(path.dirname(dir));
    fs.mkdirSync(dir);
  }
}

以上是关于javascript 相对副本(递归)的主要内容,如果未能解决你的问题,请参考以下文章

目录的递归副本

二叉树的递归遍历(Javascript)

PHP 递归文件/文件夹副本

递归文件/文件夹副本

用于AIR的递归目录副本

递归查找subversion工作副本并更新