@generalhenry (質問のコメントを参照) の助けを借りて、私はついにそれを手に入れました。
コメントで述べたように、2 つのステップでフォルダーを圧縮する必要があります。
.tar
フォルダをファイルに変換する
.tar
ファイルを圧縮する
最初のステップを実行するには、次の 2 つの node.js モジュールが必要でした。
npm install tar
npm install fstream
最初のものでは、.tar
ファイルを作成できます。ここからソースコードにアクセスできますhttps://github.com/isaacs/node-tar
2 番目のノード モジュールは、フォルダーの読み取りとファイルの書き込みに役立ちます。基本的なfs
node.js モジュールに関しては、ディレクトリを読み取ることができるかどうかはわかりません ( を使用して配列内のすべてのファイルを取得することについて話しているのではなくfs.readdir
、フォルダー内のすべてのファイルとその編成を処理することについて話しているのではありません)。
次に、フォルダーを.tar
ファイルに変換すると、 Gzip()
ofを使用して圧縮できますZlib
。
最終的なコードは次のとおりです。
var fstream = require('fstream'),
tar = require('tar'),
zlib = require('zlib');
fstream.Reader({ 'path': 'path/to/my/dir/', 'type': 'Directory' }) /* Read the source directory */
.pipe(tar.Pack()) /* Convert the directory to a .tar file */
.pipe(zlib.Gzip()) /* Compress the .tar file */
.pipe(fstream.Writer({ 'path': 'compressed_folder.tar.gz' })); /* Give the output file name */
これは、node.jsを使用してフォルダー全体を圧縮するのに役立ちました
さらに2つのこと: