ADM-ZIP for NodeJS——模具行业从业者必备知识手册
-
<h2>ADM-ZIP for NodeJS</h2>
<p>ADM-ZIP is a pure JavaScript implementation for zip data compression for <a href="https://nodejs.org/">NodeJS</a>.</p>
<p><a href="https://github.com/cthackers/adm-zip/actions/workflows/ci.yml"></p>
<p> <img src="upload://6xb2FBekbE9X3L1BSWi1YI7PVnp.svg" alt="Build Status"></p>
<p></a></p><h2>Installation</h2>
<p>With <a href="https://www.npmjs.com/">npm</a> do:</p>
<p> $ npm install adm-zip</p>
<p><strong>Electron</strong> file system support described below.</p>
<h3>What is it good for?</h3>
<p>The library allows you to:</p>
<ul>
<li> decompress zip files directly to disk or in memory buffers</li>
<li> compress files and store them to disk in .zip format or in compressed buffers</li>
<li> update content of/add new/delete files from an existing .zip</li>
</ul><h2>Dependencies</h2>
<p>There are no other nodeJS libraries that ADM-ZIP is dependent of</p>
<h2>Examples</h2>
<h3>Basic usage</h3>
<pre><code>
var AdmZip = require("adm-zip");// reading archives
var zip = new AdmZip("./my_file.zip");
var password = "1234567890";
var zipEntries = zip.getEntries(); // an array of ZipEntry records - add password parameter if entries are password protectedzipEntries.forEach(function (zipEntry) {
console.log(zipEntry.toString()); // outputs zip entries information
if (zipEntry.entryName == "my_file.txt") {
console.log(zipEntry.getData().toString("utf8"));
}
});
// outputs the content of some_folder/my_file.txt
console.log(zip.readAsText("some_folder/my_file.txt"));
// extracts the specified file to the specified location
zip.extractEntryTo(/entry name/ "some_folder/my_file.txt", /target path/ "/home/me/tempfolder", /maintainEntryPath/ false, /overwrite/ true);
// extracts everything
zip.extractAllTo(/target path/ "/home/me/zipcontent/", /overwrite/ true);// creating archives
var zip = new AdmZip();// add file directly
var content = "inner content of the file";
zip.addFile("test.txt", Buffer.from(content, "utf8"), "entry comment goes here");
// add local file
zip.addLocalFile("/home/me/some_picture.png");
// get everything as a buffer
var willSendthis = zip.toBuffer();
// or write everything to disk
zip.writeZip(/target file name/ "/home/me/files.zip");// ... more examples in the wiki
</code></pre><p>For more detailed information please check out the <a href="https://github.com/cthackers/adm-zip/wiki">wiki</a>.</p>
<h3>Electron original-fs</h3>
<p>ADM-ZIP has supported electron <strong>original-fs</strong> for years without any user interractions but it causes problem with bundlers like rollup etc. For continuing support <strong>original-fs</strong> or any other custom file system module. There is possible specify your module by <strong>fs</strong> option in ADM-ZIP constructor.</p>
<p>Example:</p>
<pre><code>
const AdmZip = require("adm-zip");
const OriginalFs = require("original-fs");// reading archives
const zip = new AdmZip("./my_file.zip", { fs: OriginalFs });
.
.
.
</code></pre><hr>
<p>本文由模极社发布</p>
<h4>
内容概览</h4><table>
<tr><td>分类</td><td>要点</td><td>建议/说明</td></tr>
<tr><td>核心概念</td><td>ADM-ZIP for NodeJS</td><td>详见正文</td></tr>
<tr><td>操作步骤</td><td>ADM-ZIP for NodeJS</td><td>详见正文</td></tr>
<tr><td>注意事项</td><td>ADM-ZIP for NodeJS</td><td>详见正文</td></tr>
<tr><td>适用场景</td><td>ADM-ZIP for NodeJS</td><td>详见正文</td></tr>
<tr><td>常见问题</td><td>ADM-ZIP for NodeJS</td><td>详见正文</td></tr>
</table><hr>
<h4>
你可能还感兴趣</h4>
<ul>
<li><a href="/t/3635/3635">MIM气穴气孔(Voids or Porosity)</a></li>
<li><a href="/t/3093/3093">MIM开裂</a></li>
<li><a href="/t/4281/4281">browserslist-to-esbuild</a></li>
</ul><hr>
<p><strong>相关推荐:</strong></p>
<ul>
<li><a href="https://www.mj7.cn/t/4836-4836">北京模具产业 — 科技研发驱动型模具基地</a></li>
<li><a href="https://www.mj7.cn/t/4835-4835">上海模具产业 — 高端精密模具研发中心</a></li>
<li><a href="https://www.mj7.cn/t/4834-4834">产业集群与模具产业发展的关系</a></li>
</ul><hr>
<p>哪个方案更实用?欢迎投票讨论。</p>