const fs = require("fs")
const path = require("path")
 
export const copyFiles = function(src, dest) {
  const exists = fs.existsSync(src);
  const stats = exists && fs.statSync(src);
  const isDirectory = exists && stats.isDirectory();
  if (isDirectory) {
    fs.mkdirSync(dest);
    fs.readdirSync(src).forEach(function(childItemName) {
      copyFiles(path.join(src, childItemName),
                        path.join(dest, childItemName));
    });
  } else {
    fs.copyFileSync(src, dest);
  }
};

下面是只复制目录的方法:

import ncp from 'ncp';
import fs from 'fs';
 
export function copyDirToTarget(targetPath, sourcePath) {
  return new Promise((resolve, reject) => {
    if (fs.existsSync(targetPath)) return errorMess(`The directory already exists!  ${targetPath}`);
    mkdirp.sync(targetPath);
    ncp(sourcePath, targetPath, function (err) {
      if (err) return reject(err);
      resolve();
    });
  })
}

扩展阅读