Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点中将文件从一个目录同步到另一个目录?_Javascript_Node.js - Fatal编程技术网

Javascript 在节点中将文件从一个目录同步到另一个目录?

Javascript 在节点中将文件从一个目录同步到另一个目录?,javascript,node.js,Javascript,Node.js,我使用了一个globbing模式来查找和复制src/main/css中的所有文件,并将它们放在/dist中 然而,现在我在下面也有子目录src/main/css(例如src/main/css/margins/index.css),在复制文件时不包括这些子目录 节点(fs或path?)中是否有处理这种情况的API,或者是否有人知道一个方便的包?我最终使用了 如果任何人有办法对节点执行相同的操作并避免依赖关系,请告诉我。试试这个 const fs = require('fs'); const pat

我使用了一个globbing模式来查找和复制
src/main/css
中的所有文件,并将它们放在
/dist

然而,现在我在下面也有子目录
src/main/css
(例如
src/main/css/margins/index.css
),在复制文件时不包括这些子目录

节点(fs或path?)中是否有处理这种情况的API,或者是否有人知道一个方便的包?

我最终使用了

如果任何人有办法对节点执行相同的操作并避免依赖关系,请告诉我。

试试这个

const fs = require('fs');
const path = require('path');

var mkdir = function (dir) {
    // making directory without exception if exists
    try {
        fs.mkdirSync(dir, 0755);
    } catch (e) {
        if (e.code != "EEXIST") {
            throw e;
        }
    }
};

var copy = function (src, dest) {
    var readS = fs.createReadStream(src);
    var writeS = fs.createWriteStream(dest);
    readS.pipe(writeS);

    readS.on("end", function () {
        // Operation done
    });
};

var copyDir = function (src, dest) {
    mkdir(dest);
    var files = fs.readdirSync(src);
    for (var i = 0; i < files.length; i++) {
        var current = fs.lstatSync(path.join(src, files[i]));
        if (current.isDirectory()) {
            copyDir(path.join(src, files[i]), path.join(dest, files[i]));
        } else if (current.isSymbolicLink()) {
            var symlink = fs.readlinkSync(path.join(src, files[i]));
            fs.symlinkSync(symlink, path.join(dest, files[i]));
        } else {
            copy(path.join(src, files[i]), path.join(dest, files[i]));
        }
    }
};

copyDir('./src', './dest');
const fs=require('fs');
const path=require('path');
var mkdir=函数(dir){
//如果存在,则无例外地创建目录
试一试{
财政司司长mkdirSync(dir,0755);
}捕获(e){
如果(e.code!=“EEXIST”){
投掷e;
}
}
};
var copy=功能(src、dest){
var readS=fs.createReadStream(src);
var writeS=fs.createWriteStream(dest);
读。管(写);
readS.on(“end”,函数(){
//手术完成
});
};
var copyDir=函数(src,dest){
mkdir(目的地);
var files=fs.readdirSync(src);
对于(var i=0;i
这段代码的灵感来自。我在原始代码中做了一些修改,以使其能够工作,因为util.pump现在已经过时了

const fs = require('fs');
const path = require('path');

var mkdir = function (dir) {
    // making directory without exception if exists
    try {
        fs.mkdirSync(dir, 0755);
    } catch (e) {
        if (e.code != "EEXIST") {
            throw e;
        }
    }
};

var copy = function (src, dest) {
    var readS = fs.createReadStream(src);
    var writeS = fs.createWriteStream(dest);
    readS.pipe(writeS);

    readS.on("end", function () {
        // Operation done
    });
};

var copyDir = function (src, dest) {
    mkdir(dest);
    var files = fs.readdirSync(src);
    for (var i = 0; i < files.length; i++) {
        var current = fs.lstatSync(path.join(src, files[i]));
        if (current.isDirectory()) {
            copyDir(path.join(src, files[i]), path.join(dest, files[i]));
        } else if (current.isSymbolicLink()) {
            var symlink = fs.readlinkSync(path.join(src, files[i]));
            fs.symlinkSync(symlink, path.join(dest, files[i]));
        } else {
            copy(path.join(src, files[i]), path.join(dest, files[i]));
        }
    }
};

copyDir('./src', './dest');