nodejs zip archiver问题与windows中的目录路径有关

时间:2017-05-31 04:56:43

标签: node.js windows zip node-archiver archiverjs

我在Windows中使用zip.directory时遇到问题。

这是我正在尝试创建的文件结构:

. ├── file1.txt ├── file2.txt └── file3.txt

file2.txtfile3.txt来自名为dir的目录。

以下是我服务器上的代码:

const zip = archiver('zip')

zip.append('some text', { name: 'file1.txt' })   
zip.directory('dir/', '.')
zip.finalize()

这在Mac上运行正常。但是,使用'.'将所有内容放在同一目录中似乎无法在Windows上运行(基本上只有file1.txt将其放入zip中)。

然而,以下工作:

const zip = archiver('zip')

zip.append('some text', { name: 'file1.txt' })   
zip.directory('dir/', 'somename')
zip.finalize()

但是,这会给出一个像这样的文件夹结构:

. ├── file1.txt └── somename ├── file2.txt └── file3.txt

这不是我真正想要的。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我在#node.js IRC频道上收到了答案。

取代这一行:

zip.directory('dir/', '.')

使用:

zip.directory('dir/', '../')

解决了这个问题。