Archiver v1.3.0 - невозможно заархивировать содержимое каталога без имени каталога, являющегося корневой папкой

Я использую https://archiverjs.com/docs/ чтобы заархивировать каталог для моего приложения PhoneGap, но мне пока не удалось достичь того, чего я хочу.

У меня есть папка с такой структурой: - www - css - images - scripts - config.xml - index.html

Теперь я хотел бы иметь zip-файл, содержащий содержимое папки www, но не сам www.

BAD
 - www.zip
   - www
      - css
      - images
      - scripts
      - config.xml
      - index.html
GOOD
 - www.zip
   - css
   - images
   - scripts
   - config.xml
   - index.html

Код, который я использую, следующий:

var archiver = require('archiver');

var output = fs.createWriteStream('./www/www.zip');
var archive = archiver('zip', {
   store: true // Sets the compression method to STORE.
});

output.on('close', function() {
  console.log(archive.pointer() + ' total bytes');
  console.log('archiver has been finalized and the output file descriptor has closed.');
});

archive.on('error', function(err) {
  throw err;
});

archive.pipe(output);
archive.directory('www/');
archive.finalize();

Я пытался добавить что-то вроде: archive.directory('www/*'); но это выдает ошибку.

Любой другой способ, которым я могу сделать это? Спасибо

1 ответ

Решение

Я нашел решение, мне просто нужно было сделать следующее:

archive.directory('www', '/');

Задача решена:)

Спасибо

Другие вопросы по тегам