मैं अंत में यह रूप में टिप्पणी में उल्लेख किया गया है, @generalhenry की मदद (प्रश्न पर टिप्पणी देखें) और
के साथ, हम दो चरणों में फ़ोल्डर सेक की जरूरत है:
एक .tar
फ़ाइल में फ़ोल्डर में कनवर्ट
संक्षिप्त .tar
फ़ाइल
क्रम में पहला कदम प्रदर्शन करने के लिए, मैं दो Node.js मॉड्यूल की जरूरत:
npm install tar
npm install fstream
पहले एक हमें .tar
फ़ाइलें बनाने के लिए अनुमति देता है। आप यहां स्रोत कोड तक पहुंच सकते हैं https://github.com/isaacs/node-tar
दूसरा नोड मॉड्यूल हमें एक फ़ोल्डर पढ़ने और फ़ाइल लिखने में मदद करेगा। मूल fs
node.js मॉड्यूल के बारे में, मुझे नहीं पता कि निर्देशिका को पढ़ना संभव है (मैं fs.readdir
का उपयोग करके, किसी सरणी में सभी फ़ाइलों को प्राप्त करने के बारे में बात नहीं कर रहा हूं, लेकिन सभी फ़ाइलों और उनके संगठन को फ़ोल्डर्स में संभालना)।
फिर, जब मैं फ़ोल्डर को .tar
फ़ाइल में परिवर्तित करता हूं, तो मैं इसे Gzip()
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 अधिक चीजों का उपयोग कर एक संपूर्ण फ़ोल्डर संपीड़ित करने के लिए:
यहाँ अंतिम कोड है tar
मॉड्यूल पर दस्तावेज़ीकरण की कमी है। मुझे उम्मीद है कि यह दो उदाहरणों के बाद जल्द ही सुधार होगा क्योंकि .tar
फ़ाइल से सामग्री निकालने के तरीके के बारे में बात की गई थी।
मैंने स्रोत निर्देशिका को संभालने में मेरी सहायता के लिए fstream
मॉड्यूल का उपयोग किया। क्या इसे fs
का उपयोग करके बाईपास किया जा सकता है? मुझे नहीं पता (कृपया, अगर आपको कोई विचार है तो टिप्पणी करें)।
ज़्लिब बस संपीड़न है, आप एक फ़ोल्डर को टैर करना चाहते हैं, फिर इसे संक्षिप्त करें, पूरी tar.gz बात करें, https://github.com/isaacs/node-tar – generalhenry
कोशिश करें ओह, मैं समझता हूं! इसलिए, मुझे इसे दो चरणों में करने की ज़रूरत है: 1/फ़ोल्डर को '.tar' फ़ाइल में कनवर्ट करें, फिर 2/'.tar' फ़ाइल को Zlib का उपयोग करके' .tar.gz' में संपीड़ित करें। 'नोड-टैर' मॉड्यूल बहुत अच्छी तरह से प्रलेखित नहीं है, क्या आपके पास कोई अतिरिक्त संसाधन है? – htaidirt
मैंने एक नज़र डाली, मैंने पाया कि सबसे अच्छा है https://github.com/cthackers/adm-zip – generalhenry