模极社社区 - 制造业全产业链交流平台

    • 登录
    • 版块
    • 最新
    • 话题
    • 热门
    • 用户
    • 群组

    ADM-ZIP for NodeJS——模具行业从业者必备知识手册

    社区公告
    1
    1
    1
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • S
      system 2 最后由 编辑

      <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 protected

      zipEntries.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>

      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      Powered by NodeBB | Contributors