2015-07-31 3 views
1

Учитывая следующую структуру папок генератора; Я пытаюсь глубоко скопировать все папки в папку «for_copy».Генератор Yeoman - глубокая копия пустой структуры папок

  • корневые генератор
    • приложение
    • шаблоны
      • for_copy
        • данных
        • внешние
        • СМИ

Все папки пусты. Я хотел бы, чтобы эта структура была создана для меня, когда я вызываю генератор.

Я пробовал использовать fs.copy, bulkCopy и bulkDirectory. Ни один из них не выполняет свою работу.

Любые подсказки относительно того, как я мог бы достичь этого, будут очень признательны.

Смотрите ниже фрагменте кода:

writing: function() { 
     this.log('Writing templates...'); 

     //doesn't work 
     this.fs.copy(
      this.templatePath('for_copy'), 
      this.destinationRoot() 
      ); 

     //doesn't work 
     this.bulkCopy(
      this.templatePath('for_copy'), 
      this.destinationRoot() 
      ); 

     //doesn't work 
     this.bulkDirectory(
      this.templatePath('for_copy'), 
      this.destinationRoot() 
      ); 

     //doesn't work 
     this.bulkDirectory(
      this.templatePath('for_copy') +'**/*', 
      this.destinationRoot() 
      ); 
    } 

ответ

2

Yeoman заботится только о файлах. Когда вы используете bulkDirectory, вы фактически копируете файлы, а не каталоги.

Вы можете использовать модуль mkdirp для создания каталогов.

mkdirp.sync(path.join(this.destinationPath(), 'data')); 
mkdirp.sync(path.join(this.destinationPath(), 'external')); 
// etc ... 
Смежные вопросы