Node.js 자체는 파일을 직접 복사하기 위한 API를 제공하지 않습니다. Node.js를 사용하여 파일이나 디렉터리를 복사하려면 다른 API를 사용해야 합니다. 단일 파일을 복사하려면 readFile 및 writeFile을 직접 사용하면 더 쉽습니다. 디렉터리의 모든 파일을 복사하는 경우 해당 디렉터리에 하위 디렉터리도 포함될 수 있으므로 고급 API를 사용해야 합니다.
스트리밍
스트림은 Node.js가 데이터를 이동하는 방식입니다. Node.js의 스트림은 읽기/쓰기가 가능합니다. HTTP 및 파일 시스템 모듈은 모두 스트림을 사용합니다. 파일 시스템에서 스트림을 사용하여 파일을 읽을 때 큰 파일을 한 번에 읽지 못할 수 있지만 여러 번 읽혀집니다. 읽은 후 데이터 이벤트가 응답됩니다. 마찬가지로 스트림에 쓸 때도 읽을 때와 마찬가지로 대용량 파일을 한 번에 쓰지 않습니다. 이러한 데이터 이동 방법은 특히 대용량 파일의 경우 매우 효율적입니다. 스트림을 사용하는 것은 파일을 작동하기 전에 전체 대용량 파일을 읽을 때까지 기다리는 것보다 훨씬 빠릅니다.
파이프라인
스트림을 읽고 쓸 때 완전한 제어를 원하는 경우 데이터 이벤트를 사용할 수 있습니다. 그러나 순수 파일 복사의 경우 읽기 스트림과 쓰기 스트림은 파이프를 통해 데이터를 전송할 수 있습니다.
실용적 적용:
paths.forEach(function( path ){
var _src = src '/' 경로,
_dst = dst '/' 경로,
읽기 가능, 쓰기 가능;
stat( _src, function( err, st ){
if( err ){
throw err;
}
스트리밍 스트리밍 ~ > ~ 이후 🎜> });
});
} ;
// 디렉터리를 복사하기 전에 디렉터리가 존재하는지 확인해야 합니다. 디렉터리가 없으면 먼저 디렉터리를 만들어야 합니다.
var presents = function( src, dst, callback ){
fs.exists( dst, 함수( 존재함) {
fs.mkdir( dst , function(){
콜백( src, dst );
//디렉터리 복사
존재( './src', './build', copy );