2015-01-26 1 views
0

У меня есть большая структура каталогов, типичная для большинства приложений.Использование Grunt.js для копирования всех файлов HTML из одной структуры каталогов в другую

Например, так:

theprojectroot 
|- src 
|  |- app 
|  |  |- index.html 
|  |  |- index.js 
|  |  |- userhome 
|  |  |  |- userhome.html 
|  |  |  |- userhome.js 
|  |  |- management 
|  |  |  |- management.html 
|  |  |  |- management.js 
|  |  |- social 
|  |  |  |- social.html 
|  |  |  |- social.js 
|  |- assets 
|- vendor 
|- package.json 

Я хотел бы, чтобы скопировать все файлы HTML - и ТОЛЬКО HTML-файлы - во всех каталогах в другую папку.

В настоящее время я использую Grunt copy для копирования всех файлов, но теперь я хотел бы сделать это только для HTML. In the docs, похоже, нет никакой возможности выбрать тип файла.

У кого-нибудь есть хак, который они могут предложить?

+0

После некоторого tinering, я обнаружил, что ' src: '**/**. html'' делает то, что я ищу. Я просто не понимаю, почему. Так что, если кто-то может объяснить, я приму их ответ – CodyBugstein

ответ

9

Следующий код будет работать

copy: { 
    files: { 
     cwd: 'path/to/files', // set working folder/root to copy 
     src: '**/*.html',  // copy all files and subfolders **with ending .html** 
     dest: 'dist/files', // destination folder 
     expand: true   // required when using cwd 
     } 
    } 
0

Сглаживание: истинный вариант, как в этом ответе, может работать для некоторых случаев, но мне кажется, что более распространенное требование (как в моем случае) состоит в том, чтобы скопировать папку и ее структуру подпапок, как есть , в dest. Похоже, что в большинстве случаев, если у вас есть подпапки, они, вероятно, ссылаются на этот код в коде. Ключ к выполнению этого является вариант УХО, который позволит сохранить структуру папок относительно заданного рабочего каталога:

copy: { 
    files: { 
    cwd: 'path/to/files', // set working folder/root to copy 
    src: '**/*.html',  // copy only html files 
    dest: 'dist/files', // destination folder 
    expand: true   // required when using cwd 
    } 
} 
+0

Я думаю, вы пропустили то, что я прошу. Я бы скопировал ТОЛЬКО файлы 'html', а не другие файлы в каталоге. Возможно, я должен обновить вопрос – CodyBugstein

Смежные вопросы