tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
**--exclude
要写在前面,否则mac上有问题。
const fs = require("fs");
const path = require("path");
const exec = require("child_process").execSync;
const filePath = path.resolve(process.cwd(), "./index.html");
const data = fs.readFileSync(filePath, "utf-8");
const reg = /(\?t=)(\d{13})/gim;
const newData = data.replace(reg, `$1${Date.now()}`);
fs.writeFileSync(filePath, newData);
const zipName = `qrcode_mobile`;
exec(`rm -rf ${zipName}*`);
exec(
`cd ${process.cwd()} && tar --exclude node_modules -zcvf ${zipName}.tar.gz *`
);
fs.writeFileSync(filePath, data);
const fs = require("fs");
const path = require("path");
const tar = require("tar");
const pkg = require("../package");
const umirc = require("../.umirc");
const distName = `${pkg.name}.tar.gz`;
const outputPath = path.resolve(process.cwd(), umirc.outputPath || "./dist");
tar.c(
{ gzip: true, cwd: outputPath },
fs.readdirSync(outputPath),
).pipe(fs.createWriteStream(distName)).on("finish", () => {
// eslint-disable-next-line no-console
console.log(`打包完成,请查看项目目录下的 ${distName}`);
});
var process = require('child_process');
var cmd = 'ifconfig';
process.exec(cmd, function(error, stdout, stderr) {
console.log("error:"+error);
console.log("stdout:"+stdout);
console.log("stderr:"+stderr);
});