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-consoleconsole.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);});
