环境
 
 
主要代码
 
let fs = require('fs');
let major = process.version.match(/v([0-9]*).([0-9]*)/)[1]
let minor = process.version.match(/v([0-9]*).([0-9]*)/)[2]
function cpSync(source, destination) {
    
    
    
    if (Number(major) < 16 || Number(major) == 16 && Number(minor) < 7) {
        
        if (fs.existsSync(destination)) fs.rmSync(destination, { recursive: true })
        
        fs.mkdirSync(destination, { recursive: true });
        
        let rd = fs.readdirSync(source)
        for (const fd of rd) {
            
            let sourceFullName = source + "/" + fd;
            
            let destFullName = destination + "/" + fd;
            
            let lstatRes = fs.lstatSync(sourceFullName)
            
            if (lstatRes.isFile()) fs.copyFileSync(sourceFullName, destFullName);
            
            if (lstatRes.isDirectory()) cpSync(sourceFullName, destFullName);
        }
    }
    else fs.cpSync(source, destination, { force: true, recursive: true })
}