<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ADM-ZIP for NodeJS——模具行业从业者必备知识手册]]></title><description><![CDATA[<p dir="auto">&lt;h2&gt;ADM-ZIP for NodeJS&lt;/h2&gt;</p>
<p dir="auto">&lt;p&gt;ADM-ZIP is a pure JavaScript implementation for zip data compression for &lt;a href="<a href="https://nodejs.org/" rel="nofollow ugc">https://nodejs.org/</a>"&gt;NodeJS&lt;/a&gt;.&lt;/p&gt;</p>
<p dir="auto">&lt;p&gt;&lt;a href="<a href="https://github.com/cthackers/adm-zip/actions/workflows/ci.yml" rel="nofollow ugc">https://github.com/cthackers/adm-zip/actions/workflows/ci.yml</a>"&gt;&lt;/p&gt;<br />
&lt;p&gt;  &lt;img src="upload://6xb2FBekbE9X3L1BSWi1YI7PVnp.svg" alt="Build Status"&gt;&lt;/p&gt;<br />
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;</p>
<p dir="auto">&lt;h2&gt;Installation&lt;/h2&gt;</p>
<p dir="auto">&lt;p&gt;With &lt;a href="<a href="https://www.npmjs.com/" rel="nofollow ugc">https://www.npmjs.com/</a>"&gt;npm&lt;/a&gt; do:&lt;/p&gt;</p>
<p dir="auto">&lt;p&gt;    $ npm install adm-zip&lt;/p&gt;</p>
<p dir="auto">&lt;p&gt;&lt;strong&gt;Electron&lt;/strong&gt; file system support described below.&lt;/p&gt;</p>
<p dir="auto">&lt;h3&gt;What is it good for?&lt;/h3&gt;</p>
<p dir="auto">&lt;p&gt;The library allows you to:&lt;/p&gt;</p>
<p dir="auto">&lt;ul&gt;<br />
&lt;li&gt;  decompress zip files directly to disk or in memory buffers&lt;/li&gt;<br />
&lt;li&gt;  compress files and store them to disk in .zip format or in compressed buffers&lt;/li&gt;<br />
&lt;li&gt;  update content of/add new/delete files from an existing .zip&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;h2&gt;Dependencies&lt;/h2&gt;</p>
<p dir="auto">&lt;p&gt;There are no other nodeJS libraries that ADM-ZIP is dependent of&lt;/p&gt;</p>
<p dir="auto">&lt;h2&gt;Examples&lt;/h2&gt;</p>
<p dir="auto">&lt;h3&gt;Basic usage&lt;/h3&gt;</p>
<p dir="auto">&lt;pre&gt;&lt;code&gt;<br />
var AdmZip = require("adm-zip");</p>
<p dir="auto">// reading archives<br />
var zip = new AdmZip("./my_file.zip");<br />
var password = "1234567890";<br />
var zipEntries = zip.getEntries(); // an array of ZipEntry records - add password parameter if entries are password protected</p>
<p dir="auto">zipEntries.forEach(function (zipEntry) {<br />
console.log(zipEntry.toString()); // outputs zip entries information<br />
if (zipEntry.entryName == "my_file.txt") {<br />
console.log(zipEntry.getData().toString("utf8"));<br />
}<br />
});<br />
// outputs the content of some_folder/my_file.txt<br />
console.log(zip.readAsText("some_folder/my_file.txt"));<br />
// extracts the specified file to the specified location<br />
zip.extractEntryTo(/<em>entry name</em>/ "some_folder/my_file.txt", /<em>target path</em>/ "/home/me/tempfolder", /<em>maintainEntryPath</em>/ false, /<em>overwrite</em>/ true);<br />
// extracts everything<br />
zip.extractAllTo(/<em>target path</em>/ "/home/me/zipcontent/", /<em>overwrite</em>/ true);</p>
<p dir="auto">// creating archives<br />
var zip = new AdmZip();</p>
<p dir="auto">// add file directly<br />
var content = "inner content of the file";<br />
zip.addFile("test.txt", Buffer.from(content, "utf8"), "entry comment goes here");<br />
// add local file<br />
zip.addLocalFile("/home/me/some_picture.png");<br />
// get everything as a buffer<br />
var willSendthis = zip.toBuffer();<br />
// or write everything to disk<br />
zip.writeZip(/<em>target file name</em>/ "/home/me/files.zip");</p>
<p dir="auto">// ... more examples in the wiki<br />
&lt;/code&gt;&lt;/pre&gt;</p>
<p dir="auto">&lt;p&gt;For more detailed information please check out the &lt;a href="<a href="https://github.com/cthackers/adm-zip/wiki" rel="nofollow ugc">https://github.com/cthackers/adm-zip/wiki</a>"&gt;wiki&lt;/a&gt;.&lt;/p&gt;</p>
<p dir="auto">&lt;h3&gt;Electron original-fs&lt;/h3&gt;</p>
<p dir="auto">&lt;p&gt;ADM-ZIP has supported electron &lt;strong&gt;original-fs&lt;/strong&gt; for years without any user interractions but it causes problem with bundlers like rollup etc. For continuing support &lt;strong&gt;original-fs&lt;/strong&gt; or any other custom file system module. There is possible specify your module by &lt;strong&gt;fs&lt;/strong&gt; option in ADM-ZIP constructor.&lt;/p&gt;</p>
<p dir="auto">&lt;p&gt;Example:&lt;/p&gt;</p>
<p dir="auto">&lt;pre&gt;&lt;code&gt;<br />
const AdmZip = require("adm-zip");<br />
const OriginalFs = require("original-fs");</p>
<p dir="auto">// reading archives<br />
const zip = new AdmZip("./my_file.zip", { fs: OriginalFs });<br />
.<br />
.<br />
.<br />
&lt;/code&gt;&lt;/pre&gt;</p>
<p dir="auto">&lt;hr&gt;</p>
<p dir="auto">&lt;p&gt;本文由模极社发布&lt;/p&gt;</p>
<p dir="auto">&lt;h4&gt;<img src="https://forum.mj7.cn/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4cb.png?v=k0o2a4s5i30" class="not-responsive emoji emoji-android emoji--clipboard" title=":clipboard:" alt="📋" /> 内容概览&lt;/h4&gt;</p>
<p dir="auto">&lt;table&gt;<br />
&lt;tr&gt;&lt;td&gt;分类&lt;/td&gt;&lt;td&gt;要点&lt;/td&gt;&lt;td&gt;建议/说明&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;核心概念&lt;/td&gt;&lt;td&gt;ADM-ZIP for NodeJS&lt;/td&gt;&lt;td&gt;详见正文&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;操作步骤&lt;/td&gt;&lt;td&gt;ADM-ZIP for NodeJS&lt;/td&gt;&lt;td&gt;详见正文&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;注意事项&lt;/td&gt;&lt;td&gt;ADM-ZIP for NodeJS&lt;/td&gt;&lt;td&gt;详见正文&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;适用场景&lt;/td&gt;&lt;td&gt;ADM-ZIP for NodeJS&lt;/td&gt;&lt;td&gt;详见正文&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;常见问题&lt;/td&gt;&lt;td&gt;ADM-ZIP for NodeJS&lt;/td&gt;&lt;td&gt;详见正文&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;</p>
<p dir="auto">&lt;hr&gt;<br />
&lt;h4&gt;<img src="https://forum.mj7.cn/assets/plugins/nodebb-plugin-emoji/emoji/android/1f517.png?v=k0o2a4s5i30" class="not-responsive emoji emoji-android emoji--link" title=":link:" alt="🔗" /> 你可能还感兴趣&lt;/h4&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href="/t/3635/3635"&gt;MIM气穴气孔（Voids or Porosity）&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="/t/3093/3093"&gt;MIM开裂&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="/t/4281/4281"&gt;browserslist-to-esbuild&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;hr&gt;<br />
&lt;p&gt;&lt;strong&gt;相关推荐：&lt;/strong&gt;&lt;/p&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href="<a href="https://www.mj7.cn/t/4836-4836" rel="nofollow ugc">https://www.mj7.cn/t/4836-4836</a>"&gt;北京模具产业 — 科技研发驱动型模具基地&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="<a href="https://www.mj7.cn/t/4835-4835" rel="nofollow ugc">https://www.mj7.cn/t/4835-4835</a>"&gt;上海模具产业 — 高端精密模具研发中心&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="<a href="https://www.mj7.cn/t/4834-4834" rel="nofollow ugc">https://www.mj7.cn/t/4834-4834</a>"&gt;产业集群与模具产业发展的关系&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;hr&gt;<br />
&lt;p&gt;哪个方案更实用？欢迎投票讨论。&lt;/p&gt;</p>
]]></description><link>https://forum.mj7.cn/topic/7174/adm-zip-for-nodejs-模具行业从业者必备知识手册</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 11:45:55 GMT</lastBuildDate><atom:link href="https://forum.mj7.cn/topic/7174.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Apr 2026 21:46:13 GMT</pubDate><ttl>60</ttl></channel></rss>