[javascript] Скопируйте все файлы из каталога в другой с помощью копии Grunt.js


1 Answers

Эта задача будет поддерживать структуру папок, если вы укажете файл glob. То, что вы хотите, это вариант flatten который удалит структуру.

{
    expand: true,
    flatten: true,
    src: ['src/html/css/fonts/**'],
    dest: 'dist/myvoice/css/fonts/',
    filter: 'isFile'
}

Найдите остальные доступные варианты в репозитории Github . Надеюсь это поможет.

Question

Я пытаюсь скопировать все файлы в каталог в другой каталог как часть моего процесса сборки. Он отлично работает для отдельных файлов, которые я указываю явно, но когда я пытаюсь скопировать весь каталог, он делает странные вещи, такие как копии всей структуры каталога (или вообще ничего). Вот соответствующая часть моего GruntFile.js:

copy: {
  myvoice: {
    files: [
      { src:"src/html/index.html", dest:"dist/myvoice/index.html" },
      { src:"src/html/css/style.css", dest:"dist/myvoice/css/style.css" },
      { src:"src/html/js/require.js", dest:"dist/myvoice/js/require.js" },
      { src:"build/myvoice/main.js", dest:"dist/myvoice/js/main.js" },
      { src:"src/html/css/fonts/*", dest:"dist/myvoice/css/fonts/" }
    ]
  }
},

В частности, это последняя строка, с которой я не могу работать:

      { src:"src/html/css/fonts/*", dest:"dist/myvoice/css/fonts/" }



Пришлось использовать egdy вместо фигурных скобок для сегмента файлов (в Coffeescript) ...

copy: {
  files: [
    cwd: 'path/to/files'
    src: '**/*'
    dest: 'dist/files'
    expand: true
  ]
}



Related