Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Don';t包括带有节点tar的存档的绝对路径_Javascript_Node.js_Tar - Fatal编程技术网

Javascript Don';t包括带有节点tar的存档的绝对路径

Javascript Don';t包括带有节点tar的存档的绝对路径,javascript,node.js,tar,Javascript,Node.js,Tar,我有一个目录,里面有很多目录和文件,我想把它们添加到tar中。 我用它的包装。我在path.resolveexec之后传递两个参数:源字符串和目标字符串。最后是tar.gz,它包含目标之前的绝对路径 以下是我所做的: const path = require('path'); const tar = require('tar'); const { promisify } = require('util'); const tarCreateAsync = promisify(tar.c); co

我有一个目录,里面有很多目录和文件,我想把它们添加到tar中。 我用它的包装。我在
path.resolve
exec之后传递两个参数:源字符串和目标字符串。最后是tar.gz,它包含目标之前的绝对路径

以下是我所做的:

const path = require('path');
const tar = require('tar');
const { promisify } = require('util');
const tarCreateAsync = promisify(tar.c);

const src = path.resolve(__dirname, 'test-data');
const dst = path.resolve(__dirname, 'output-data');

async function addToTar(src, dst) {
    await tarCreateAsync(
        {
            gzip: true,
            file: path.resolve(dst, 'static.tgz'),
        },
        [src]
    )
}

addToTar(src, dst);
我看过这篇文章,但API已经改变了,锚没有显示任何内容


还尝试了
preservepath
选项,但没有效果

解决它,设置基本路径值的
C
cwd
选项

看起来像这样

    await tarCreateAsync(
        {
            gzip: true,
            file: path.resolve(dst, 'static.tgz'),
            cwd: path.resolve(__dirname),
        },
        ['test-data']
    )