tar
    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件
    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出
    下面的参数-f是必须的
    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
    **
    --exclude 要写在前面,否则mac上有问题。

    1. const fs = require("fs");
    2. const path = require("path");
    3. const exec = require("child_process").execSync;
    4. const filePath = path.resolve(process.cwd(), "./index.html");
    5. const data = fs.readFileSync(filePath, "utf-8");
    6. const reg = /(\?t=)(\d{13})/gim;
    7. const newData = data.replace(reg, `$1${Date.now()}`);
    8. fs.writeFileSync(filePath, newData);
    9. const zipName = `qrcode_mobile`;
    10. exec(`rm -rf ${zipName}*`);
    11. exec(
    12. `cd ${process.cwd()} && tar --exclude node_modules -zcvf ${zipName}.tar.gz *`
    13. );
    14. fs.writeFileSync(filePath, data);
    1. const fs = require("fs");
    2. const path = require("path");
    3. const tar = require("tar");
    4. const pkg = require("../package");
    5. const umirc = require("../.umirc");
    6. const distName = `${pkg.name}.tar.gz`;
    7. const outputPath = path.resolve(process.cwd(), umirc.outputPath || "./dist");
    8. tar.c(
    9. { gzip: true, cwd: outputPath },
    10. fs.readdirSync(outputPath),
    11. ).pipe(fs.createWriteStream(distName)).on("finish", () => {
    12. // eslint-disable-next-line no-console
    13. console.log(`打包完成,请查看项目目录下的 ${distName}`);
    14. });
    1. var process = require('child_process');
    2. var cmd = 'ifconfig';
    3. process.exec(cmd, function(error, stdout, stderr) {
    4. console.log("error:"+error);
    5. console.log("stdout:"+stdout);
    6. console.log("stderr:"+stderr);
    7. });