{"id":28819,"date":"2022-09-14T17:00:19","date_gmt":"2022-09-14T12:30:19","guid":{"rendered":"https:\/\/parspack.com\/blog\/?p=28819"},"modified":"2024-08-16T14:42:53","modified_gmt":"2024-08-16T10:12:53","slug":"zip-files-in-node-js","status":"publish","type":"post","link":"https:\/\/parspack.com\/blog\/programming\/frontend-tutorial\/zip-files-in-node-js","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc ZIP\u200c \u062f\u0631 Node.js"},"content":{"rendered":"<p style=\"text-align: justify;\">\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644 \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 Node.js \u0686\u0637\u0648\u0631 \u0627\u0633\u062a\u061f \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u062f\u0631 Node.js \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0632\u06cc\u067e\u200c\u0634\u062f\u0647 \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u0645\u061f \u0627\u0632 \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c\u06cc \u06a9\u0647 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0628\u0627 \u0622\u0646 \u062f\u0633\u062a\u200c\u0648\u067e\u0646\u062c\u0647 \u0646\u0631\u0645 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0627\u0641\u0632\u0627\u06cc\u0634 \u062d\u062c\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0633\u0646\u06af\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0641\u0636\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0627\u0632 \u0647\u0627\u0631\u062f\u062f\u06cc\u0633\u06a9 \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0634\u0631\u0627\u06cc\u0637\u060c \u0628\u0627\u06cc\u062f \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 <a title=\"\u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631\" href=\"\/servers\" target=\"_blank\" rel=\"noopener\"> \u0633\u0631\u0648\u0631 <\/a> \u062f\u06cc\u06af\u0631\u06cc \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0645\u0646\u0627\u0628\u0639 \u062c\u062f\u06cc\u062f\u06cc \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u0631\u062a\u0627\u0646 \u0628\u062e\u0631\u06cc\u062f. \u0628\u0631\u062e\u06cc \u0627\u0632 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627 \u0628\u0647\u200c\u06af\u0648\u0646\u0647\u200c\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f \u06a9\u0647 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0627\u06cc\u0644 \u062f\u0627\u0631\u0646\u062f \u0648 \u0634\u0645\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0628\u0627 \u062d\u062c\u0645 \u0632\u06cc\u0627\u062f \u0631\u0627 \u062f\u0631 \u0622\u0646\u200c\u0647\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f\u061b \u0627\u0645\u0627 \u062c\u0627\u06cc \u0646\u06af\u0631\u0627\u0646\u06cc \u0646\u06cc\u0633\u062a!<\/p>\n<p style=\"text-align: justify;\">\u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 ZIP \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u062f\u0648\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u062d\u062c\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u062f. \u062f\u0631 Node.js\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u062e\u0648\u0627\u0646\u062f\u0646 \u0622\u0631\u0634\u06cc\u0648\u0647\u0627\u06cc ZIP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0627\u0632 \u0648\u0628\u0644\u0627\u06af \u067e\u0627\u0631\u0633 \u067e\u06a9\u060c \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0628\u0631\u0627\u06cc \u0641\u0634\u0631\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u062e\u0627\u0631\u062c\u200c\u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u062f\u0631 Node.js \u0631\u0627 \u0622\u0645\u0648\u0632\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f\u061b \u067e\u0633 \u062a\u0627 \u067e\u0627\u06cc\u0627\u0646 \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/b><\/span><\/h2>\n<ul style=\"text-align: justify;\">\n<li aria-level=\"1\">Node.js \u0646\u0635\u0628\u200c\u0634\u062f\u0647 \u0631\u0648\u06cc \u0645\u062d\u06cc\u0637 \u0644\u0648\u06a9\u0627\u0644 \u06cc\u0627 \u0633\u0631\u0648\u0631<\/li>\n<li aria-level=\"1\">\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc Node.js<\/li>\n<li aria-level=\"1\">\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 Asynchronous Javascript<\/li>\n<li aria-level=\"1\">\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u062f\u0631 Node.js<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/parspack.com\/servers\" target=\"_blank\" rel=\"noopener\"><figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" data-loaded=\"true\" src=\"https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/02\/server.gif\" class=\"wp-image-26973 size-full aligncenter\" alt=\"\u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631\"      width=\"700\" height=\"90\"  ><\/figure><\/a><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u0645\u0631\u0627\u062d\u0644 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c \u0641\u0634\u0631\u062f\u0647\u200c \u062f\u0631 Node.js<\/b><\/span><\/h2>\n<p style=\"text-align: justify;\">\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 ZIP Archive \u062f\u0631 Node.js\u060c \u0628\u0627\u06cc\u062f \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647\u200c\u062a\u0631\u062a\u06cc\u0628 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u0645\u0631\u062d\u0644\u0647 \u06f1. \u0627\u06cc\u062c\u0627\u062f \u067e\u0631\u0648\u0698\u0647 (Setting Up the Project)<\/b><\/span><\/h2>\n<p style=\"text-align: justify;\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 adm-zip \u0631\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062c\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u062a\u0627\u0646 \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u06cc\u062f. \u0633\u067e\u0633 \u062f\u0631 \u0628\u062e\u0634 \u0628\u0639\u062f\u06cc\u060c \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062f\u06cc\u06af\u0631\u06cc \u062d\u0627\u0648\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u062a\u0646\u06cc \u0648 \u062a\u0635\u0648\u06cc\u0631\u06cc \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.<\/p>\n<p>1. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f \u0632\u06cc\u0631\u060c \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0627\u06cc \u0628\u0647 \u0646\u0627\u0645 zip_app \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">mkdir zip_app<\/pre>\n<p style=\"text-align: justify;\">2. \u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u067e\u0648\u0634\u0647 \u062c\u062f\u06cc\u062f\u06cc \u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f cd \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd zip_app<\/pre>\n<p style=\"text-align: justify;\">3. \u0633\u067e\u0633 \u062f\u0631 \u062f\u0627\u062e\u0644 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u060c \u0641\u0627\u06cc\u0644 package.json \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">npm init -y<\/pre>\n<p style=\"text-align: justify;\">4. \u06af\u0632\u06cc\u0646\u0647 y- \u0641\u0627\u06cc\u0644 package.json \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c adm-zip \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0645\u0646\u062f npm install \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">npm install adm-zip<\/pre>\n<p style=\"text-align: justify;\">5. \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u06a9\u0627\u0645\u0646\u062f \u06cc\u0627\u062f\u0634\u062f\u0647\u060c adm-zip \u0646\u0635\u0628 \u0648 \u0641\u0627\u06cc\u0644 package.json \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06a9\u0646\u0648\u0646\u060c \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0627\u06cc \u0628\u0647 \u0646\u0627\u0645 test \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 \u0622\u0646\u200c\u062c\u0627 \u0628\u0631\u0648\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">mkdir test &amp;&amp; cd test<\/pre>\n<p style=\"text-align: justify;\">6. \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u060c \u0628\u0627\u06cc\u062f \u0633\u0647 \u0641\u0627\u06cc\u0644 \u0645\u062a\u0646\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062a\u0635\u0648\u06cc\u0631\u06cc \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0633\u0647 \u0641\u0627\u06cc\u0644 \u0628\u0627 dummy content \u067e\u0631 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u062a\u0627 \u062d\u062c\u0645\u0634\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631 \u0634\u0648\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0647 \u0641\u0634\u0631\u062f\u0647\u200c\u0633\u0627\u0632\u06cc ZIP \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0628\u0627\u06cc\u06af\u0627\u0646\u06cc \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p style=\"text-align: justify;\">7. \u062d\u0627\u0644 file1.txt \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f \u0632\u06cc\u0631 \u0622\u0646 \u0631\u0627 \u0628\u0627 dummy content \u067e\u0631 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">yes \"dummy content\" | head -n 100000 &gt; file1.txt<\/pre>\n<p style=\"text-align: justify;\">8. \u06a9\u0627\u0645\u0646\u062f yes \u0627\u0633\u062a\u0631\u06cc\u0646\u06af dummy content \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u06a9\u0631\u0631 \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f |\u060c \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f yes \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0648\u0631\u0648\u062f\u06cc \u062f\u0633\u062a\u0648\u0631 head \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f. \u062f\u0633\u062a\u0648\u0631 head \u0628\u062e\u0634\u06cc \u0627\u0632 \u0648\u0631\u0648\u062f\u06cc \u062f\u0627\u062f\u0647\u200c\u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0686\u0627\u067e \u0645\u06cc\u200c\u06a9\u0646\u062f. \u06af\u0632\u06cc\u0646\u0647 n- \u062a\u0639\u062f\u0627\u062f \u062e\u0637\u0648\u0637\u06cc \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0646\u0648\u0634\u062a\u0647 \u0634\u0648\u062f. \u062f\u0631\u0646\u0647\u0627\u06cc\u062a \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f &lt;\u060c \u062e\u0631\u0648\u062c\u06cc \u06a9\u0627\u0645\u0646\u062f head \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f file file1.txt \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u062f\u0647\u06cc\u062f.<\/p>\n<div class=\"cta-section\">\n<p class=\"cta-description\">\u0628\u0631\u0627\u06cc \u0622\u0645\u0648\u0632\u0634 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0646\u0648\u0634\u062a\u0646 \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 Node.js \u0645\u0642\u0627\u0644\u0647 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0632 \u062f\u0633\u062a \u0646\u062f\u0647\u06cc\u062f.<\/p>\n<p><a class=\"cta-button \" href=\"https:\/\/parspack.com\/blog\/os\/linux\/how-write-and-node-js-program\" target=\"_blank\" rel=\"noopener\">\u0622\u0645\u0648\u0632\u0634 \u0628\u0631\u0646\u0627\u200c\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc Node.js<\/a><\/p>\n<\/div>\n<p style=\"text-align: justify;\">9. \u0627\u06a9\u0646\u0648\u0646 \u0641\u0627\u06cc\u0644 \u062f\u0648\u0645 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0631\u06cc\u0646\u06af dummy content \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 300000 \u062e\u0637 \u062a\u06a9\u0631\u0627\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">yes \"dummy content\" | head -n 300000 &gt; file2.txt<\/pre>\n<p style=\"text-align: justify;\">10. \u0633\u067e\u0633\u060c \u0641\u0627\u06cc\u0644 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0627 \u0627\u0633\u062a\u0631\u06cc\u0646\u06af dummy content \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631 600000 \u062e\u0637 \u062a\u06a9\u0631\u0627\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">yes \"dummy content\" | head -n 600000 &gt; file3.txt<\/pre>\n<p style=\"text-align: justify;\">11. \u062f\u0631\u0646\u0647\u0627\u06cc\u062a\u060c \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 curl \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">curl -O https:\/\/assets.digitalocean.com\/how-to-process-images-in-node-js-with-sharp\/underwater.png<\/pre>\n<p style=\"text-align: justify;\">12. \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631\u060c \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u0628\u0631\u06af\u0631\u062f\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd ..<\/pre>\n<p style=\"text-align: justify;\">12. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <b>.. <\/b>\u0634\u0645\u0627 \u0631\u0627 \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0645\u0646\u0628\u0639 \u06a9\u0647 zip_app \u0627\u0633\u062a\u060c \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062d\u0627\u0644\u0627 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0648 adm-zip \u0631\u0627 \u0646\u0635\u0628 \u0648 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0627\u06cc \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0622\u0631\u0634\u06cc\u0648 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u06cc\u060c \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0627\u06cc \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0622\u0631\u0634\u06cc\u0648 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.<\/p>\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" data-loaded=\"true\" src=\"https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js3.jpg\" class=\"wp-image-28825 size-full\" alt=\"\u0622\u0645\u0648\u0632\u0634 \u0641\u0634\u0631\u062f\u0647 \u0633\u0627\u0632\u06cc \u0641\u0627\u06cc\u0644 \u062f\u0631 node.js\" title=\"\u00a0\u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 Node.js\"       width=\"750\" height=\"519\" srcset=\"https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js3.jpg 750w, https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js3-300x208.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"text-subtitle-5 text-gray-9 text-center mt-2\" >\u00a0\u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 Node.js \u0686\u0637\u0648\u0631 \u0627\u0633\u062a\u061f<\/figcaption><\/figure>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u0645\u0631\u062d\u0644\u0647 \u06f2. \u0627\u06cc\u062c\u0627\u062f ZIP Archive<\/b><\/span><\/h2>\n<p style=\"text-align: justify;\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u0627\u0632 adm-zip \u0628\u0631\u0627\u06cc \u0641\u0634\u0631\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 \u0628\u0627\u06cc\u06af\u0627\u0646\u06cc \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u0642\u0633\u0645\u062a \u0642\u0628\u0644 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f. \u0628\u0647\u200c\u0645\u0646\u0638\u0648\u0631 \u0622\u0631\u0634\u06cc\u0648 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u060c \u0645\u0627\u0698\u0648\u0644 adm-zip \u0631\u0627 \u0648\u0627\u0631\u062f \u0648 \u0627\u0632 \u0645\u062a\u062f ()adLocalFolder \u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647\u200c\u06a9\u0631\u062f\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0647 \u0645\u0627\u0698\u0648\u0644 \u0622\u0628\u062c\u06a9\u062a ZIP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u067e\u0633\u200c\u0627\u0632\u200c\u0622\u0646\u060c \u0627\u0632 \u0645\u062a\u062f \u0645\u0627\u0698\u0648\u0644 ()writeZip \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0622\u0631\u0634\u06cc\u0648 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0644\u0648\u06a9\u0627\u0644 \u062e\u0648\u062f \u0628\u0647\u0631\u0647 \u0628\u0628\u0631\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">1. \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f createArchive.js \u0631\u0627 \u062f\u0631 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u062a\u0646 \u062f\u0644\u062e\u0648\u0627\u0647\u062a\u0627\u0646 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f \u0644\u0627\u06cc\u0646 nano \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">nano createArchive.js<\/pre>\n<p style=\"text-align: justify;\">2. \u0633\u067e\u0633\u060c \u0627\u0632 require \u062f\u0631 \u0645\u0627\u0698\u0648\u0644 adm-zip \u062f\u0631 \u0641\u0627\u06cc\u0644 createArchive.js \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");<\/pre>\n<p style=\"text-align: justify;\">3. \u0645\u0627\u0698\u0648\u0644 adm-zip \u06a9\u0644\u0627\u0633\u06cc \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u062d\u0627\u0648\u06cc \u0634\u06cc\u0648\u0647\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f ZIP Archive \u0627\u0633\u062a. \u0627\u0632\u0622\u200c\u0646\u200c\u062c\u0627\u06a9\u0647 \u062f\u0631 \u0637\u0648\u0644 \u0641\u0631\u0627\u06cc\u0646\u062f \u0622\u0631\u0634\u06cc\u0648 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062d\u062c\u06cc\u0645 \u0645\u0648\u0627\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0622\u0631\u0634\u06cc\u0648 ZIP \u0630\u062e\u06cc\u0631\u0647 \u0646\u0634\u0648\u062f\u060c \u0627\u0633\u062a\u0631\u06cc\u0646\u06af \u0627\u0635\u0644\u06cc \u0631\u0627 \u0645\u0633\u062f\u0648\u062f \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f \u063a\u06cc\u0631\u200c\u0645\u0633\u062f\u0648\u062f\u200c\u06a9\u0646\u0646\u062f\u0647\u060c \u062a\u0627\u0628\u0639\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u0630\u062e\u06cc\u0631\u0647 ZIP Archive \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"cta-section\">\n<p class=\"cta-description\">\u0628\u0631\u0627\u06cc \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0646\u0635\u0628 Node.js \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0645\u0642\u0627\u0644\u0647 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0632 \u062f\u0633\u062a \u0646\u062f\u0647\u06cc\u062f.<\/p>\n<p><a class=\"cta-button \" href=\"https:\/\/parspack.com\/blog\/os\/linux\/ubuntu\/install-node-js-in-ubuntu-20-04\" target=\"_blank\" rel=\"noopener\">\u0646\u0635\u0628 Node.js \u062f\u0631 Ubuntu 20.04<\/a><\/p>\n<\/div>\n<p style=\"text-align: justify;\">4. \u062f\u0631 \u0641\u0627\u06cc\u0644 createArchive.js \u062e\u0648\u062f\u060c \u06a9\u062f \u0647\u0627\u06cc\u200c\u0644\u0627\u06cc\u062a\u200c\u0634\u062f\u0647 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\n\r\nasync function createZipArchive() {\r\n  const zip = new AdmZip();\r\n  const outputFile = \"test.zip\";\r\n  zip.addLocalFolder(\".\/test\");\r\n  zip.writeZip(outputFile);\r\n  console.log(`Created ${outputFile} successfully`);\r\n}\r\n\r\ncreateZipArchive();<\/pre>\n<p style=\"text-align: justify;\">5. createZipArchive \u062a\u0627\u0628\u0639\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 (Asynchronous Function) \u0627\u0633\u062a \u06a9\u0647 ZIP Archive \u0631\u0627 \u0627\u0632 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0645\u0634\u062e\u0635\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc async \u0627\u0633\u062a \u06a9\u0647 \u0642\u0628\u0644 \u0627\u0632 \u0628\u0631\u0686\u0633\u0628 \u062a\u0627\u0628\u0639 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">6. \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u062f\u0627\u062e\u0644 \u062a\u0627\u0628\u0639\u060c \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u062a\u062f\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u06a9\u0646\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0627\u06cc\u062c\u0627\u062f \u0622\u0631\u0634\u06cc\u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c adm-zip \u06cc\u06a9 ZIP \u062f\u0631\u0648\u0646 \u062d\u0627\u0641\u0638\u0647 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u06cc\u0627 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">7. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u0646\u0627\u0645 \u0622\u0631\u0634\u06cc\u0648 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0645\u062a\u063a\u06cc\u0631 outputDir \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc test \u0628\u0647 \u0622\u0631\u0634\u06cc\u0648 \u062f\u0631\u0648\u0646 \u062d\u0627\u0641\u0638\u0647\u060c \u0645\u062a\u062f ()addLocalFolder \u0631\u0627 \u0627\u0632 adm-zip \u0628\u0627 Path \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">8. \u067e\u0633 \u0627\u0632 \u0627\u0636\u0627\u0641\u0647\u200c\u0634\u062f\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u060c \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0645\u062a\u062f ()writeZip \u0631\u0627 \u0627\u0632 adm-zip \u0628\u0627 \u0645\u062a\u063a\u06cc\u0631\u06cc \u062d\u0627\u0648\u06cc \u0646\u0627\u0645 ZIP Archive \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u0645\u062a\u062f ()writeZip \u0622\u0631\u0634\u06cc\u0648 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u0633\u06a9 \u0644\u0648\u06a9\u0627\u0644 \u0634\u0645\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p style=\"text-align: justify;\">9. \u067e\u0633 \u0627\u0632 \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc ()console.log \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0641\u0627\u06cc\u0644 ZIP \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p style=\"text-align: justify;\">10. \u062f\u0631\u200c\u0646\u0647\u0627\u06cc\u062a\u060c \u062a\u0627\u0628\u0639 ()createZipArchive \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644\u060c \u06a9\u062f \u0631\u0627 \u062f\u0631 \u0628\u0644\u0648\u06a9 try\u2026catch \u0628\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u062e\u0637\u0627\u0647\u0627\u06cc \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0634\u0648\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\n\r\nasync function createZipArchive() {\r\n  try {\r\n    const zip = new AdmZip();\r\n    const outputFile = \"test.zip\";\r\n    zip.addLocalFolder(\".\/test\");\r\n    zip.writeZip(outputFile);\r\n    console.log(`Created ${outputFile} successfully`);\r\n  } catch (e) {\r\n    console.log(`Something went wrong. ${e}`);\r\n  }\r\n}\r\n\r\ncreateZipArchive();<\/pre>\n<p style=\"text-align: justify;\">11. \u062f\u0631 \u062f\u0627\u062e\u0644 \u0628\u0644\u0648\u06a9 try\u060c \u06a9\u062f \u0633\u0639\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f ZIP Archive \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f. \u062f\u0631\u0635\u0648\u0631\u062a \u0645\u0648\u0641\u0642\u06cc\u062a\u200c\u0622\u0645\u06cc\u0632\u200c\u0628\u0648\u062f\u0646\u060c \u062a\u0627\u0628\u0639 ()createZipArchive \u0628\u0627 \u067e\u0631\u0634 \u0627\u0632 \u0628\u0644\u0648\u06a9 catch \u062e\u0627\u0631\u062c \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06af\u0631 \u0627\u06cc\u062c\u0627\u062f ZIP Archive \u0628\u0627\u0639\u062b \u062e\u0637\u0627 \u0634\u0648\u062f\u060c \u062a\u0627\u0628\u0639 \u062f\u0631 \u0628\u0644\u0648\u06a9 catch \u0645\u062a\u0648\u0642\u0641 \u0648 \u062e\u0637\u0627 \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u062b\u0628\u062a \u062e\u0648\u0627\u0647\u062f \u0634\u062f.<\/p>\n<p style=\"text-align: justify;\">12. \u0628\u0627 CTRL + X \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062f\u0631 nano \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0622\u0646 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u060c y \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0627 \u0641\u0634\u0627\u0631\u062f\u0627\u062f\u0646 Enter \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u06cc\u0627 \u06a9\u0644\u06cc\u062f RETURN \u062f\u0631 \u0645\u06a9\u060c \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">13. \u0633\u067e\u0633\u060c \u0641\u0627\u06cc\u0644 createArchive.js \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 node \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">node createArchive.js<\/pre>\n<p style=\"text-align: justify;\">14. \u0627\u06a9\u0646\u0648\u0646\u060c \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\nCreated test.zip successfully<\/pre>\n<p style=\"text-align: justify;\">15. \u0633\u067e\u0633\u060c \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u0627 \u0641\u0647\u0631\u0633\u062a \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f \u0622\u06cc\u0627 ZIP Archive \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ls<\/pre>\n<p style=\"text-align: justify;\">16. \u062f\u0631\u0627\u062f\u0627\u0645\u0647\u060c \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f \u06a9\u0647 \u0622\u0631\u0634\u06cc\u0648 \u0631\u0627 \u062f\u0631 \u0645\u06cc\u0627\u0646 \u0645\u0637\u0627\u0644\u0628 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\ncreateArchive.js  node_modules  package-lock.json\r\npackage.json  test  test.zip\r\n<\/pre>\n<p style=\"text-align: justify;\">17. \u0628\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0627\u06cc\u0646\u06a9\u0647 ZIP Archive \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0622\u0631\u0634\u06cc\u0648 \u0648 \u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0627\u06cc\u0644 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc test \u0631\u0627 \u0628\u0627\u0647\u0645 \u0645\u0642\u0627\u06cc\u0633\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f \u0641\u0634\u0631\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631. \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc test \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0627\u0645\u0646\u062f du \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">du -h test<\/pre>\n<p style=\"text-align: justify;\">18. \u0641\u0644\u0627\u06af h- \u0628\u0647 du \u062f\u0633\u062a\u0648\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u0627 \u062f\u0631 \u0642\u0627\u0644\u0628 human-readable \u0646\u0634\u0627\u0646 \u062f\u0647\u062f. \u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u06a9\u0627\u0645\u0646\u062f\u060c \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\n15M\ttest\r\n<\/pre>\n<p style=\"text-align: justify;\">19. \u0633\u067e\u0633\u060c \u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0627\u06cc\u0644 \u0622\u0631\u0634\u06cc\u0648 test.zip \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">du -h test.zip<\/pre>\n<p style=\"text-align: justify;\">20. \u06a9\u0627\u0645\u0646\u062f du \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\n760K\ttest.zip<\/pre>\n<p style=\"text-align: justify;\">21. \u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631\u06a9\u0647 \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u062f\u060c \u0627\u06cc\u062c\u0627\u062f \u0641\u0627\u06cc\u0644 ZIP \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u0627 \u0627\u0632 \u06f1\u06f5 \u0645\u06af\u0627\u0628\u0627\u06cc\u062a (MB) \u0628\u0647 \u06f7\u06f6\u06f0 \u06a9\u06cc\u0644\u0648\u0628\u0627\u06cc\u062a (KB) \u06a9\u0627\u0647\u0634 \u062f\u0627\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c ZIP Archive \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u06cc\u062f. \u062d\u0627\u0644\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0641\u0627\u06cc\u0644 \u0632\u06cc\u067e \u0631\u0627 \u0641\u0647\u0631\u0633\u062a \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u0628\u0647 \u0634\u0645\u0627 \u0622\u0645\u0648\u0632\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" data-loaded=\"true\" src=\"https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js1.jpg\" class=\"wp-image-28823 size-full\" alt=\"\u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644 zip \u062f\u0631 \u0646\u0648\u062f \u062c\u06cc \u0627\u0633\" title=\"\u06a9\u062f\u0647\u0627\u06cc  Node.js\"       width=\"750\" height=\"372\" srcset=\"https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js1.jpg 750w, https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js1-300x149.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"text-subtitle-5 text-gray-9 text-center mt-2\" >\u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 Node.js<\/figcaption><\/figure>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u0645\u0631\u062d\u0644\u0647 \u06f3. \u0641\u0647\u0631\u0633\u062a\u200c\u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u062f\u0631 ZIP Archive<\/b><\/span><\/h2>\n<p style=\"text-align: justify;\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 adm-zip \u062a\u0645\u0627\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 ZIP Archive \u0631\u0627 \u0641\u0647\u0631\u0633\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f. \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0627\u06cc\u062f \u0645\u0627\u0698\u0648\u0644 adm-zip \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 ZIP Archive \u062e\u0648\u062f \u0646\u0645\u0648\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u0633\u067e\u0633\u060c \u0645\u062a\u062f \u0645\u0627\u0698\u0648\u0644 ()getEntries \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u0631\u0627\u06cc\u0647\u200c\u0627\u06cc \u0627\u0632 \u0627\u0634\u06cc\u0627\u0621 \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. \u0647\u0631 \u0622\u0628\u062c\u06a9\u062a\u060c \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0647\u0645\u06cc \u062f\u0631\u0628\u0627\u0631\u0647 \u06cc\u06a9 \u0622\u06cc\u062a\u0645 \u062f\u0631 \u0622\u0631\u0634\u06cc\u0648 \u0628\u0647\u200c\u0647\u0645\u0631\u0627\u0647 \u062f\u0627\u0631\u062f.<\/p>\n<p>1. \u0628\u0631\u0627\u06cc \u0641\u0647\u0631\u0633\u062a\u200c\u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u060c \u0631\u0648\u06cc \u0622\u0631\u0627\u06cc\u0647 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 filename \u0627\u0632 \u0647\u0631 \u0622\u0628\u062c\u06a9\u062a \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f. \u0633\u067e\u0633\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f. readArchive.js \u0631\u0627 \u062f\u0631 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u062a\u0646 \u062f\u0644\u062e\u0648\u0627\u0647 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">nano readArchive.js<\/pre>\n<p style=\"text-align: justify;\">2. \u062f\u0631 readArchive.js \u062e\u0648\u062f\u060c \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0641\u0647\u0631\u0633\u062a\u200c\u06a9\u0631\u062f\u0646 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a ZIP Archive \u0627\u0632 \u06a9\u062f \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\n\r\nasync function readZipArchive(filepath) {\r\n  try {\r\n    const zip = new AdmZip(filepath);\r\n\r\n    for (const zipEntry of zip.getEntries()) {\r\n      console.log(zipEntry.toString());\r\n    }\r\n  } catch (e) {\r\n    console.log(`Something went wrong. ${e}`);\r\n  }\r\n}\r\n\r\nreadZipArchive(\".\/test.zip\");<\/pre>\n<p style=\"text-align: justify;\">3. \u0627\u0628\u062a\u062f\u0627\u060c \u0627\u0632 require \u062f\u0631 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0633\u067e\u0633 \u062a\u0627\u0628\u0639 ()readZipArchive \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062a\u0627\u0628\u0639\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0627\u0633\u062a.<\/p>\n<p style=\"text-align: justify;\">4. \u062f\u0631 \u062f\u0627\u062e\u0644 \u062a\u0627\u0628\u0639\u060c \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 adm-zip \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 ZIP \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f\u060c \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. \u062d\u0627\u0644 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 filepath \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0648 adm-zip \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p style=\"text-align: justify;\">5. \u067e\u0633 \u0627\u0632 \u062e\u0648\u0627\u0646\u062f\u0646 \u0622\u0631\u0634\u06cc\u0648\u060c \u0639\u0628\u0627\u0631\u062a for&#8230;of \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0631\u0648\u06cc \u0627\u0634\u06cc\u0627\u0621 \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647\u200c\u0627\u06cc \u062a\u06a9\u0631\u0627\u0631 \u0634\u0648\u062f \u0648 \u0645\u062a\u062f ()getEntries \u0627\u0632 adm-zip \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f. \u062f\u0631 \u0647\u0631 \u062a\u06a9\u0631\u0627\u0631\u060c \u0622\u0628\u062c\u06a9\u062a\u06cc \u0628\u0647 \u0645\u062a\u063a\u06cc\u0631 zipEntry \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u062f\u0627\u062e\u0644 \u062d\u0644\u0642\u0647 (loop)\u060c \u0622\u0628\u062c\u06a9\u062a \u0631\u0627 \u0628\u0647 \u0627\u0633\u062a\u0631\u06cc\u0646\u06af\u06cc \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062a\u062f ()Node.js toString \u0646\u0634\u0627\u0646 \u062f\u0647\u062f. \u0633\u067e\u0633 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062a\u062f ()console.log\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"cta-section\">\n<p class=\"cta-description\">\u0628\u0631\u0627\u06cc \u0622\u0645\u0648\u0632\u0634 \u0646\u0635\u0628 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc Node.js \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0633\u0631\u0648\u0631 2019 \u0645\u0642\u0627\u0644\u0647 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0632 \u062f\u0633\u062a \u0646\u062f\u0647\u06cc\u062f.<\/p>\n<p><a class=\"cta-button \" href=\"https:\/\/parspack.com\/blog\/hosting\/learn-server\/install-node-js-on-windows-server-2019\" target=\"_blank\" rel=\"noopener\">\u0646\u0635\u0628 Node.js \u062f\u0631 Windows Server 2019<\/a><\/p>\n<\/div>\n<p style=\"text-align: justify;\">6. \u062f\u0631\u0627\u062f\u0627\u0645\u0647\u060c \u062a\u0627\u0628\u0639 ()readZipArchive \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 Archive ZIP \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u067e\u0633\u200c\u0627\u0632\u0622\u0646\u060c \u0641\u0627\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0622\u0646 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0645\u0646\u062f \u0632\u06cc\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">node readArchive.js<\/pre>\n<p style=\"text-align: justify;\">7. \u062e\u0631\u0648\u062c\u06cc\u200c\u0627\u06cc \u0645\u0634\u0627\u0628\u0647 \u0628\u0627 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f (\u0648\u06cc\u0631\u0627\u06cc\u0634\u200c\u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u062e\u062a\u0635\u0627\u0631):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\n{\r\n    \"entryName\": \"file1.txt\",\r\n    \"name\": \"file1.txt\",\r\n    \"comment\": \"\",\r\n    \"isDirectory\": false,\r\n    \"header\": {\r\n        ...\r\n    },\r\n    \"compressedData\": \"&lt;27547 bytes buffer&gt;\",\r\n    \"data\": \"&lt;null&gt;\"\r\n}\r\n...<\/pre>\n<p style=\"text-align: justify;\">8. \u06a9\u0646\u0633\u0648\u0644 \u0686\u0647\u0627\u0631 \u0622\u0628\u062c\u06a9\u062a \u0631\u0627 \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0647\u0631 \u0641\u0627\u06cc\u0644 \u062f\u0631 \u0622\u0631\u0634\u06cc\u0648 \u0628\u0627 \u0622\u0628\u062c\u06a9\u062a\u06cc \u0634\u0628\u06cc\u0647 \u0628\u0647 \u0622\u0646\u0686\u0647 \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0642\u0628\u0644\u06cc \u0627\u0633\u062a\u060c \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0647\u200c\u0645\u0646\u0638\u0648\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0641\u0627\u06cc\u0644\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u0648\u06cc\u0698\u06af\u06cc name \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">9. \u062f\u0631 \u0641\u0627\u06cc\u0644 readArchive.js\u060c \u06a9\u062f \u0647\u0627\u06cc\u200c\u0644\u0627\u06cc\u062a\u200c\u0634\u062f\u0647 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0647\u0631 \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\n\r\nasync function readZipArchive(filepath) {\r\n  try {\r\n    const zip = new AdmZip(filepath);\r\n\r\n    for (const zipEntry of zip.getEntries()) {\r\n      console.log(zipEntry.name);\r\n    }\r\n  } catch (e) {\r\n    console.log(`Something went wrong. ${e}`);\r\n  }\r\n}\r\n\r\nreadZipArchive(\".\/test.zip\");<\/pre>\n<p style=\"text-align: justify;\">10. \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u062a\u0646 \u062e\u0648\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0622\u0646 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f. \u062d\u0627\u0644\u0627 \u0628\u0627 \u06a9\u0627\u0645\u0646\u062f node \u062f\u0648\u0628\u0627\u0631\u0647 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">node readArchive.js<\/pre>\n<p style=\"text-align: justify;\">11. \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644\u060c \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u062d\u0627\u0635\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\nfile1.txt\r\nfile2.txt\r\nfile3.txt\r\nunderwater.png<\/pre>\n<p style=\"text-align: justify;\">12. \u0627\u06a9\u0646\u0648\u0646\u060c \u062e\u0631\u0648\u062c\u06cc \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 Archive ZIP \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062d\u0627\u0644 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062f\u0631 Archive ZIP \u0628\u062e\u0648\u0627\u0646\u06cc\u062f \u0648 \u0641\u0647\u0631\u0633\u062a \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0628\u062e\u0634 \u0628\u0639\u062f\u06cc\u060c \u0641\u0627\u06cc\u0644\u06cc \u0631\u0627 \u0628\u0647 Archive ZIP \u0645\u0648\u062c\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.<\/p>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u0645\u0631\u062d\u0644\u0647 \u06f4. \u0627\u0641\u0632\u0648\u062f\u0646 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0622\u0631\u0634\u06cc\u0648 \u0645\u0648\u062c\u0648\u062f<\/b><\/span><\/h2>\n<p style=\"text-align: justify;\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u0641\u0627\u06cc\u0644\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u062f\u0648\u0646 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0622\u0646 \u0631\u0627 \u0628\u0647 Archive ZIP \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f. \u0627\u0628\u062a\u062f\u0627\u060c \u0628\u0627\u06cc\u062f \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u0648\u0646\u0647 adm-zip \u060c\u200cArchive ZIP \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f. \u0633\u067e\u0633\u060c \u0627\u0632 \u0645\u062a\u062f \u0645\u0627\u0698\u0648\u0644 ()addFile \u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647\u200c\u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 \u062f\u0631 ZIP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631\u200c\u0646\u0647\u0627\u06cc\u062a\u060c \u0628\u0627\u06cc\u06af\u0627\u0646\u06cc ZIP \u0631\u0627 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0644\u0648\u06a9\u0627\u0644 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">1. \u0641\u0627\u06cc\u0644 file4.txt \u0628\u0627 dummy content \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 600000 \u062e\u0637 \u062a\u06a9\u0631\u0627\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a\u200c:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">yes \"dummy content\" | head -n 600000 &gt; file4.txt<\/pre>\n<p style=\"text-align: justify;\">2. updateArchive.js \u0631\u0627 \u062f\u0631 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u062a\u0646 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">nano updateArchive.js<\/pre>\n<p style=\"text-align: justify;\">3. require \u062f\u0631 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0648 \u0645\u0627\u0698\u0648\u0644 fs\u060c \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0641\u0627\u06cc\u0644 updateArchive.js \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\nconst fs = require(\"fs\").promises;<\/pre>\n<p style=\"text-align: justify;\">4. require \u062f\u0631 \u0648\u0631\u0698\u0646 promise-based \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 fs\u060c \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u062f\u0647\u0627\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06cc\u06a9 \u0645\u062a\u062f fs \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u06cc\u06a9 promise \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f.<\/p>\n<p style=\"text-align: justify;\">5. \u0633\u067e\u0633 \u062f\u0631 \u0641\u0627\u06cc\u0644 updateArchive.js \u062e\u0648\u062f\u060c \u06a9\u062f \u0647\u0627\u06cc\u200c\u0644\u0627\u06cc\u062a\u200c\u0634\u062f\u0647 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0647 Archive ZIP \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\nconst fs = require(\"fs\").promises;\r\n\r\nasync function updateZipArchive(filepath) {\r\n  try {\r\n    const zip = new AdmZip(filepath);\r\n\r\n    content = await fs.readFile(\".\/file4.txt\");\r\n    zip.addFile(\"file4.txt\", content);\r\n    zip.writeZip(filepath);\r\n    console.log(`Updated ${filepath} successfully`);\r\n  } catch (e) {\r\n    console.log(`Something went wrong. ${e}`);\r\n  }\r\n}\r\n\r\nupdateZipArchive(\".\/test.zip\");<\/pre>\n<p style=\"text-align: justify;\">6. updateZipArchive \u062a\u0627\u0628\u0639\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0627\u0633\u062a \u06a9\u0647 \u0641\u0627\u06cc\u0644\u06cc \u0631\u0627 \u062f\u0631 filesystem \u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 ZIP \u0645\u0648\u062c\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 \u062a\u0627\u0628\u0639\u060c \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 adm-zip \u0631\u0627 \u0628\u0627 path \u0641\u0627\u06cc\u0644 Archive ZIP \u062f\u0631 filepath \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">7. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u0645\u062a\u062f ()readFile \u0645\u0627\u0698\u0648\u0644 fs \u0631\u0627 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0641\u0627\u06cc\u0644 \u062f\u0631 filesystem \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u0645\u062a\u062f ()readFile \u06cc\u06a9 promise \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f \u06a9\u0647 \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0628\u0627 \u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc await \u0622\u0646 \u0631\u0627 \u0631\u0641\u0639 \u06a9\u0646\u06cc\u062f (wait \u0641\u0642\u0637 \u062f\u0631 asynchronous functions \u0645\u0639\u062a\u0628\u0631 \u0627\u0633\u062a). \u067e\u0633 \u0627\u0632 \u062d\u0644\u200c\u0634\u062f\u0646\u060c \u0645\u062a\u062f \u06cc\u06a9 buffer object \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f \u06a9\u0647 \u062d\u0627\u0648\u06cc \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0641\u0627\u06cc\u0644 \u0627\u0633\u062a.<\/p>\n<p style=\"text-align: justify;\">8. \u0633\u067e\u0633\u060c \u0645\u062a\u062f ()addFile \u0631\u0627 \u0627\u0632 adm-zip \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u062a\u062f \u062f\u0648 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f: \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0627\u0648\u0644 \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0647 \u0622\u0631\u0634\u06cc\u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u062f\u0648\u0645 \u0622\u0628\u062c\u06a9\u062a buffer \u0648 \u062d\u0627\u0648\u06cc \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0641\u0627\u06cc\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u062a\u062f ()readFile \u0631\u0627 \u0641\u0631\u0627\u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u062f.<\/p>\n<p style=\"text-align: justify;\">9. \u067e\u0633\u200c\u0627\u0632\u200c\u0622\u0646\u060c \u0645\u062a\u062f ()writeZip \u0645\u0627\u0698\u0648\u0644 adm-zip \u0631\u0627 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0648 \u0646\u0648\u0634\u062a\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062c\u062f\u06cc\u062f \u062f\u0631 Archive ZIP \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0646\u06cc\u0632\u060c \u0645\u062a\u062f ()console.log \u0631\u0627 \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u067e\u06cc\u0627\u0645 \u0645\u0648\u0641\u0642\u06cc\u062a\u200c\u0622\u0645\u06cc\u0632 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">10. \u062f\u0631\u0646\u0647\u0627\u06cc\u062a\u060c \u062a\u0627\u0628\u0639 ()updateZipArchive \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 Archive ZIP \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u062f\u0631\u0627\u062f\u0627\u0645\u0647\u060c \u0641\u0627\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0622\u0646 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f \u0648 \u0628\u0639\u062f\u0627\u0632\u0622\u0646\u060c \u062f\u0648\u0628\u0627\u0631\u0647 \u0641\u0627\u06cc\u0644 updateArchive.js \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0645\u0646\u062f \u0632\u06cc\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">node updateArchive.js<\/pre>\n<p style=\"text-align: justify;\">11. \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0628\u062f\u200c\u06cc\u0646\u200c\u0635\u0648\u0631\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\nUpdated .\/test.zip successfully<\/pre>\n<p style=\"text-align: justify;\">12. \u0627\u06a9\u0646\u0648\u0646\u060c \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 Archive ZIP \u062d\u0627\u0648\u06cc \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0627\u0633\u062a. \u0641\u0627\u06cc\u0644 readArchive.js \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a Archive ZIP \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0641\u0647\u0631\u0633\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">node readArchive.js<\/pre>\n<p style=\"text-align: justify;\">13. \u062d\u0627\u0644 \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">file1.txt\r\nfile2.txt\r\nfile3.txt\r\nfile4.txt\r\nunderwater.png<\/pre>\n<p style=\"text-align: justify;\">14. \u0627\u06cc\u0646 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u0628\u0647 ZIP \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0627\u06cc\u0644\u06cc \u0631\u0627 \u0628\u0647 \u0622\u0631\u0634\u06cc\u0648 \u0645\u0648\u062c\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0628\u062e\u0634 \u0628\u0639\u062f\u06cc\u060c \u0622\u0631\u0634\u06cc\u0648 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.<\/p>\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" data-loaded=\"true\" src=\"https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js2.jpg\" class=\"wp-image-28824 size-full\" alt=\"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644 \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 \u0646\u0648\u062f \u062c\u06cc \u0627\u0633\" title=\"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 Node.js \"       width=\"750\" height=\"519\" srcset=\"https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js2.jpg 750w, https:\/\/parspack.com\/blog\/wp-content\/uploads\/2022\/09\/how-work-zip-files-in-node-js2-300x208.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"text-subtitle-5 text-gray-9 text-center mt-2\" >\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 Node.js \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u061f<\/figcaption><\/figure>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u0645\u0631\u062d\u0644\u0647 \u06f5. \u062f\u0631\u06cc\u0627\u0641\u062a \u06cc\u06a9 Zip Archive<\/b><\/span><\/h2>\n<p style=\"text-align: justify;\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u062a\u0645\u0627\u0645 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a Archive ZIP \u0631\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u06cc\u062f \u0648 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u062e\u0631\u0627\u062c Archive ZIP\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f adm-zip \u0631\u0627 \u0628\u0627 Path \u0641\u0627\u06cc\u0644 \u0622\u0631\u0634\u06cc\u0648 \u0646\u0645\u0648\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u067e\u0633\u200c\u0627\u0632\u0622\u0646\u060c \u0645\u062a\u062f \u0645\u0627\u0698\u0648\u0644 ()ExtractAllTo \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u062d\u062a\u0648\u0627\u06cc ZIP \u0627\u0633\u062a\u062e\u0631\u0627\u062c\u200c\u0634\u062f\u0647 \u0634\u0645\u0627 \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u06af\u06cc\u0631\u062f.<\/p>\n<p>1. ExtractArchive.js \u0631\u0627 \u062f\u0631 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u062a\u0646 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">nano extractArchive.js<\/pre>\n<p style=\"text-align: justify;\">2. \u0627\u0632 require \u062f\u0631 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0648 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 path \u062f\u0631 \u0641\u0627\u06cc\u0644 extractArchive.js \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\nconst path = require(\"path\");<\/pre>\n<p style=\"text-align: justify;\">3. \u0645\u0627\u0698\u0648\u0644 path \u0645\u062a\u062f\u200c\u0647\u0627\u06cc \u0645\u0641\u06cc\u062f\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u062e\u0648\u0631\u062f \u0628\u0627 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f. \u062f\u0631 \u0641\u0627\u06cc\u0644 extractArchive.js \u062e\u0648\u062f\u060c \u06a9\u062f \u0647\u0627\u06cc\u200c\u0644\u0627\u06cc\u062a\u200c\u0634\u062f\u0647 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0622\u0631\u0634\u06cc\u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const AdmZip = require(\"adm-zip\");\r\nconst path = require(\"path\");\r\n\r\nasync function extractArchive(filepath) {\r\n  try {\r\n    const zip = new AdmZip(filepath);\r\n    const outputDir = `${path.parse(filepath).name}_extracted`;\r\n    zip.extractAllTo(outputDir);\r\n\r\n    console.log(`Extracted to \"${outputDir}\" successfully`);\r\n  } catch (e) {\r\n    console.log(`Something went wrong. ${e}`);\r\n  }\r\n}\r\n\r\nextractArchive(\".\/test.zip\");<\/pre>\n<p style=\"text-align: justify;\">4. ()ExtractArchive \u062a\u0627\u0628\u0639\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0627\u0633\u062a \u06a9\u0647 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u06cc \u062d\u0627\u0648\u06cc \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 Archive ZIP \u0631\u0627 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f. \u062f\u0631 \u062f\u0627\u062e\u0644 \u062a\u0627\u0628\u0639\u060c \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f adm-zip \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 Archive ZIP \u0627\u0631\u0627\u0626\u0647\u200c\u0634\u062f\u0647 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 filepath \u0646\u0645\u0648\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">5. \u0633\u067e\u0633\u060c \u0628\u0627\u06cc\u062f template literal \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u062f\u0627\u062e\u0644 template literal (${})\u060c \u0645\u062a\u062f ()parse \u0631\u0627 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 path \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f. \u0645\u062a\u062f ()parse \u06cc\u06a9 \u0622\u0628\u062c\u06a9\u062a \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f.<\/p>\n<p style=\"text-align: justify;\">6. \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644 ZIP \u0628\u062f\u0648\u0646 \u067e\u0633\u0648\u0646\u062f \u0641\u0627\u06cc\u0644\u060c \u0648\u06cc\u0698\u06af\u06cc name \u0631\u0627 \u0628\u0647 \u0622\u0628\u062c\u06a9\u062a\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u062a\u062f ()parse \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0646\u0627\u0645 \u0628\u0627\u06cc\u06af\u0627\u0646\u06cc \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u0634\u062f\u060c template literal \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0631\u06cc\u0646\u06af extracted_ \u062f\u0631\u0648\u0646\u200c\u06cc\u0627\u0628\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0633\u067e\u0633 value\u060c \u062f\u0631 \u0645\u062a\u063a\u06cc\u0631 outputDir \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 \u0646\u0627\u0645 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0627\u0633\u062a\u062e\u0631\u0627\u062c\u200c\u0634\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<p style=\"text-align: justify;\">7. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u0645\u062a\u062f ExtractAllTo \u0645\u0627\u0698\u0648\u0644 adm-zip \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0634\u062f\u0647 \u062f\u0631 outputDir \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0641\u0647\u0631\u0633\u062a \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f. \u0628\u0639\u062f\u0627\u0632\u200c\u0622\u0646\u060c \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u067e\u06cc\u0627\u0645 \u0645\u0648\u0641\u0642\u06cc\u062a\u200c\u0622\u0645\u06cc\u0632\u060c ()console.log \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p style=\"text-align: justify;\">8. \u062f\u0631\u0646\u0647\u0627\u06cc\u062a\u060c \u062a\u0627\u0628\u0639 ()extractArchive \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 Archive ZIP \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u0641\u0627\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f. \u062f\u0631\u0627\u062f\u0627\u0645\u0647\u060c \u0641\u0627\u06cc\u0644 extractArchive.js \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0645\u0646\u062f \u0632\u06cc\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">node extractArchive.js<\/pre>\n<p style=\"text-align: justify;\">9. \u0627\u06a9\u0646\u0648\u0646 \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\nExtracted to \"test_extracted\" successfully<\/pre>\n<p style=\"text-align: justify;\">10. \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062d\u0627\u0648\u06cc \u0645\u062d\u062a\u0648\u06cc\u0627\u062a ZIP \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ls<\/pre>\n<p style=\"text-align: justify;\">11. \u0633\u067e\u0633\u060c \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\ncreateArchive.js   file4.txt   package-lock.json\r\nreadArchive.js  test.zip        updateArchive.js\r\nextractArchive.js  node_modules  package.json\r\ntest           test_extracted\r\n<\/pre>\n<p style=\"text-align: justify;\">12. \u0627\u06a9\u0646\u0648\u0646\u060c \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062d\u0627\u0648\u06cc \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0627\u0633\u062a\u062e\u0631\u0627\u062c\u200c\u0634\u062f\u0647 \u0628\u0631\u0648\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd test_extracted<\/pre>\n<p style=\"text-align: justify;\">13. \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ls<\/pre>\n<p style=\"text-align: justify;\">14. \u062f\u0631\u0646\u0647\u0627\u06cc\u062a \u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Output\r\nfile1.txt  file2.txt  file3.txt  file4.txt  underwater.png<\/pre>\n<p style=\"text-align: justify;\">15. \u0627\u06a9\u0646\u0648\u0646\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062a\u0645\u0627\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u062f\u0627\u0631\u062f \u06a9\u0647 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0627\u0635\u0644\u06cc \u0628\u0648\u062f\u0646\u062f. \u0628\u062f\u06cc\u0646\u200c\u062a\u0631\u062a\u06cc\u0628\u060c \u0645\u062d\u062a\u0648\u0627\u06cc Archive ZIP \u0631\u0627 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f.<\/p>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><b>\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/b><\/span><\/h2>\n<p style=\"text-align: justify;\">\u0628\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062d\u062c\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u060c \u0628\u062e\u0634 \u0632\u06cc\u0627\u062f\u06cc \u0627\u0632 \u0641\u0636\u0627\u06cc \u0647\u0627\u0631\u062f\u062f\u06cc\u0633\u06a9 \u0627\u0634\u063a\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f\u061b \u062f\u0631\u200c\u0646\u062a\u06cc\u062c\u0647\u060c \u0645\u062c\u0628\u0648\u0631\u200c\u06cc\u0645 \u0645\u0646\u0627\u0628\u0639 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u0645. \u0627\u0632\u200c\u0627\u06cc\u0646\u200c\u0631\u0648\u060c \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u0628\u0647\u200c\u062c\u0627\u06cc \u0635\u0631\u0641 \u0647\u0632\u06cc\u0646\u0647 \u0627\u0636\u0627\u0641\u06cc\u060c \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0628\u0631\u0627\u06cc \u0641\u0634\u0631\u062f\u0647\u200c\u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u0634\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/p>\n<p style=\"text-align: justify;\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0627\u0632 \u0648\u0628\u0644\u0627\u06af \u067e\u0627\u0631\u0633 \u067e\u06a9\u060c \u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c \u0641\u0634\u0631\u062f\u0647 \u062f\u0631 Node.js \u0631\u0627 \u06af\u0627\u0645\u200c\u0628\u0647\u200c\u06af\u0627\u0645 \u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u062f\u06cc\u0645. \u0628\u0627 \u06a9\u0645\u06a9 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0633\u0646\u06af\u06cc\u0646 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647\u200c\u0631\u0627\u062d\u062a\u06cc \u0641\u0634\u0631\u062f\u0647 \u0648 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u0633\u0624\u0627\u0644 \u0648 \u0645\u0634\u06a9\u0644\u06cc \u062f\u0631\u0632\u0645\u06cc\u0646\u0647 \u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 Archive ZIP \u062f\u0631 Node.js \u062f\u0627\u0634\u062a\u06cc\u062f\u060c \u0628\u0627 \u0645\u0627 \u0628\u0647\u200c\u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u062a\u0627 \u06a9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 \u0645\u0627 \u0634\u0645\u0627 \u0631\u0627 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc\u200c \u06a9\u0646\u0646\u062f.<\/p>\n<h2 style=\"text-align: justify;\"><b><span style=\"color: #3366ff;\">\u0633\u0624\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644<\/span><br \/>\n<\/b><\/h2>\n<h3 style=\"text-align: justify;\"><span style=\"color: #0000ff;\"><b>\u06f1. \u0686\u06af\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 ZIP \u0631\u0627 \u062f\u0631 Node \u0627\u0632 \u062d\u0627\u0644\u062a \u0641\u0634\u0631\u062f\u0647 \u062e\u0627\u0631\u062c \u06a9\u0646\u06cc\u0645\u061f<\/b><\/span><\/h3>\n<ul style=\"text-align: justify;\">\n<li aria-level=\"1\">\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Node.js\u060c \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u06cc \u0628\u0631\u0627\u06cc \u0632\u06cc\u067e \u06cc\u0627 \u0628\u0627\u0632\u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n<li aria-level=\"1\">\u0645\u0627\u0698\u0648\u0644 Express-easy-zip \u0631\u0627 \u0628\u0631\u0627\u06cc \u0641\u0634\u0631\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u06cc\u0627 \u0641\u0647\u0631\u0633\u062a\u200c\u0647\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li aria-level=\"1\">\u0645\u0627\u0698\u0648\u0644 unzip NodeJS \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0641\u0627\u06cc\u0644 \u0627\u0632 \u062d\u0627\u0644\u062a \u0641\u0634\u0631\u062f\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u062f.<\/li>\n<\/ul>\n<h3 style=\"text-align: justify;\"><span style=\"color: #0000ff;\"><b>\u06f2. \u0686\u06af\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 ZIP \u0631\u0627 \u062f\u0631 Node.js \u0628\u062e\u0648\u0627\u0646\u06cc\u0645\u061f<\/b><\/span><\/h3>\n<p style=\"text-align: justify;\">\u0627\u0628\u062a\u062f\u0627 \u0628\u0647 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f. \u0633\u067e\u0633\u060c \u062a\u0627\u0628\u0639 ()readZipArchive \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062a\u0627\u0628\u0639\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0627\u0633\u062a. \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u062a\u0627\u0628\u0639\u060c \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 adm-zip \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 ZIP \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u062e\u0648\u0627\u0646\u06cc\u062f\u060c \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"\u0686\u06af\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 ZIP \u0631\u0627 \u062f\u0631 Node \u0627\u0632 \u062d\u0627\u0644\u062a \u0641\u0634\u0631\u062f\u0647 \u062e\u0627\u0631\u062c \u06a9\u0646\u06cc\u0645\u061f\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Node.js\u060c \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u06cc \u0628\u0631\u0627\u06cc \u0632\u06cc\u067e \u06cc\u0627 \u0628\u0627\u0632\u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.\n\u0645\u0627\u0698\u0648\u0644 Express-easy-zip \u0631\u0627 \u0628\u0631\u0627\u06cc \u0641\u0634\u0631\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u06cc\u0627 \u0641\u0647\u0631\u0633\u062a\u200c\u0647\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.\n\u0645\u0627\u0698\u0648\u0644 unzip NodeJS \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0641\u0627\u06cc\u0644 \u0627\u0632 \u062d\u0627\u0644\u062a \u0641\u0634\u0631\u062f\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u062f.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"\u0686\u06af\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 ZIP \u0631\u0627 \u062f\u0631 Node.js \u0628\u062e\u0648\u0627\u0646\u06cc\u0645\u061f\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"\u0627\u0628\u062a\u062f\u0627 \u0628\u0647 \u0645\u0627\u0698\u0648\u0644 adm-zip \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f. \u0633\u067e\u0633\u060c \u062a\u0627\u0628\u0639 ()readZipArchive \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062a\u0627\u0628\u0639\u06cc \u0646\u0627\u0647\u0645\u06af\u0627\u0645 \u0627\u0633\u062a. \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u062a\u0627\u0628\u0639\u060c \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 adm-zip \u0631\u0627 \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 ZIP \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u062e\u0648\u0627\u0646\u06cc\u062f\u060c \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u06a9\u0627\u0631 \u06a9\u0631\u062f\u0646 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0641\u0634\u0631\u062f\u0647 \u0628\u0647 \u0635\u0631\u0641\u0647\u200c\u062c\u0648\u06cc\u06cc \u062f\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0636\u0627\u06cc \u0647\u0627\u0631\u062f\u062f\u06cc\u0633\u06a9 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0645\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u0627\u0646 Node.js \u0686\u0637\u0648\u0631 \u0627\u0632 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0641\u0634\u0631\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u061f \u0628\u0631\u0627\u06cc \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0627\u06cc\u0646 \u067e\u0631\u0648\u0633\u0647 \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627\u0634\u06cc\u062f. <\/p>\n","protected":false},"author":71,"featured_media":35170,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[992],"tags":[],"class_list":["post-28819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend-tutorial"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/posts\/28819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/comments?post=28819"}],"version-history":[{"count":3,"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/posts\/28819\/revisions"}],"predecessor-version":[{"id":49890,"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/posts\/28819\/revisions\/49890"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/media\/35170"}],"wp:attachment":[{"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/media?parent=28819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/categories?post=28819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/parspack.com\/blog\/wp-json\/wp\/v2\/tags?post=28819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}