91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中怎么創建和提取zip文件

發布時間:2020-11-30 11:09:54 來源:億速云 閱讀:253 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關Node.js中怎么創建和提取zip文件,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Zip文件是常用的壓縮文件格式。大多數開發人員最終使用tarball而不是zip文件。但在某些情況下,您需要使用zip文件,例如將函數上載到AWS Lambda。在本文中,我將演示如何用 adm-zip npm模塊創建和提取zip文件。

創建一個Zip文件

從 adm-zip 的 npm 模塊中導出一個 AdmZip 類。 AdmZip的實例對應于一個zip文件。如果想要創建一個新的 zip 文件,在調用 new AdmZip() 時不應帶任何參數:

const AdmZip = require('adm-zip');

const file = new AdmZip();

可以通過多種方式將文件和目錄添加到 file。可以用 file.addLocalFile()file.addLocalFolder() 通過文件名從文件系統添加文件和目錄。例如下面的代碼演示了怎樣把 package.json 文件和 node_modules 目錄添加到 zip 文件中:

const AdmZip = require('adm-zip');

const file = new AdmZip();

file.addLocalFile('./package.json');
//第二個node_modules 參數是 zip 中目錄的路徑。
//如果沒有第二個參數,則`./node_modules`中的每個目錄都將是壓縮文件中的頂級目錄
file.addLocalFolder('./node_modules', 'node_modules');

然后,你可以使用下面兩種方法中的一個寫入文件:

//寫入zip文件的第一種方法:將其轉換為緩沖區并使用`fs`
const fs = require('fs');

fs.writeFileSync('output.zip', file.toBuffer());

// 另一種寫入 zip 文件的方法:writeZip()
file.writeZip('output.zip');

寫入output.zip 文件后,你應該能夠在制定的 zip 解壓縮程序中打開它。下面是在 Xubuntu 的默認存檔管理器 engrampa 中打開的文件。

Node.js中怎么創建和提取zip文件

addLocalFile()addLocalFolder() 的第二個參數是將文件或目錄內容放入zip的路徑。例如,如果要將 package.jsonnode_modules 都放在 project 目錄下,則可以運行以下腳本:

const AdmZip = require('adm-zip');

const file = new AdmZip();

file.addLocalFile('./package.json', 'project');
file.addLocalFolder('./node_modules', 'project/node_modules');

const fs = require('fs');

fs.writeFileSync('output.zip', file.toBuffer());

可以用 file.addFile() 方法從原始 Node.js 緩沖區添加文件。以下是不在文件系統上創建文件的情況下,將包含字符串 Hello,World 的文本文件添加到 zip 文件中的方法。

const AdmZip = require('adm-zip');

const file = new AdmZip();

file.addFile('hello.txt', Buffer.fromString('Hello, World'));

const fs = require('fs');

fs.writeFileSync('output.zip', file.toBuffer());

使用現有文件

如果你將參數傳遞給 AdmZip 構造函數,則adm-zip將在給定路徑下解析文件。下面是將所有內容從 output.zip 文件提取到目錄 output 的方法。

const AdmZip = require('adm-zip');

const file = new AdmZip('./output.zip');

file.extractAllTo('./output');

也可以用 file.extractEntryTo() 從 zip 文件中提取單個文件。例如,下面是從 zip 文件中拉出 hello.txt 文件并將其寫入當前目錄的方法:

const AdmZip = require('adm-zip');

const file = new AdmZip('./output.zip');

file.extractEntryTo('hello.txt', './');

你也可以對現有文件使用 addLocalFile()addLocalFolder()addFile()

關于Node.js中怎么創建和提取zip文件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新河县| 比如县| 克拉玛依市| 慈利县| 连江县| 彭阳县| 华阴市| 凤庆县| 砀山县| 莎车县| 东兰县| 泗洪县| 白水县| 收藏| 邹平县| 疏附县| 乐平市| 类乌齐县| 江西省| 铜鼓县| 大冶市| 乐业县| 墨竹工卡县| 灵石县| 鸡泽县| 北安市| 双辽市| 乌兰察布市| 五指山市| 邢台市| 吐鲁番市| 大荔县| 虞城县| 常州市| 和林格尔县| 天门市| 遵化市| 南丰县| 武山县| 于都县| 绥阳县|