【发布时间】:2016-11-12 21:36:24
【问题描述】:
编辑 -> 有人可以建议对我的答案进行编辑吗,例如我不确定exec 更好还是spawn 更好?
是否可以使用 zlib 和其他内置模块压缩目录/文件夹及其内容?
我正在寻找一种无需外部依赖的方法。
另一种选择是在 mac、windows 等上运行本地进程,用于 zip、tar 等,我确信任何一个操作系统上都有命令行实用程序
This is not an answer 但它在某种程度上与我正在寻找的东西有关,它正在产生一个本地进程来压缩。
另一个link我在看。
Unix command for zip | exec and spawn
我在终端上尝试过的命令有效,
- /usr/bin/zip test.zip /resources/html/article
- du -hs test.zip
代码
var zip = function(path) {
const spawn = require('child_process').spawn;
const exec = require('child_process').exec;
exec("which zip", function (error, stdout, stderr) {
if (error) {
console.log(error);
} else {
exec(stdout + " -r " + path + "/test.zip " + path, function(error, stdout, stderr){
if(error) {
console.log(error);
} else {
exec("du -hs test.zip", function(error, stdout, stderr){
console.log('done');
console.log(arguments);
});
}
})
}
});
};
【问题讨论】:
-
您能否将您在 Question 中尝试过的
javascript包含在内? -
我还没有一个起点,我正在寻找可以帮助我写一些的代码。将链接的问题视为尝试
-
文档提供了示例,是吗?
-
我可以在命令行上做,但不能在 nodejs 上工作,编辑我的最新代码
-
原来问题出在
which zip命令上,stdout中有一个\n,使用trim删除,它现在可以工作,但想知道它默认将 zip 文件保存在哪里
标签: javascript node.js zip tar zlib