Плагин копирования Grunt не может настроить

Я новичок в хрюкать, и для моего проекта я использую grunt-contrib- module . export = function ( grunt ) { const sass = require ( 'node-sass' ); require ( «load-grunt-tasks» ) ( grunt ); хрюкать . initConfig ({ sass : { options : { реализация : sass , }, dist : { files : [{ expand : true , cwd : 'sass' , src : [ '* .scss' ], dest : 'assets / css' , ext : '.css' }] } }, cssmin : { target : { files : [{ expand : true , cwd : 'assets / css' , src : [ '* .css' , '! *. min.css' ], dest : 'build / assets / css' , ext : '.min.css' }] } }, copy : { html : { files : [{ expand : true , dot : true , cwd : 'components' , src : [ '** / *. html' ], dest : 'build /' }] } } }); хрюкать . registerTask ( 'default' , [ 'sass' , 'cssmin' , 'copy' ]); } plugin. Моя структура папок:

введите описание изображения здесь

html

Я хочу скопировать индекс. copy : { html : { files : [{ src : [ 'components / **' , 'index.html' ], dest : 'build /' }] } } и папка src в папку 'components / **' но я не могу его настроить. Я могу скопировать либо индекс. ** файл, либо только папку компонента, но не удалось скопировать оба. Может кто-то, пожалуйста, помогите мне в этом. Это было бы огромной помощью. Спасибо вам заблаговременно.

javascript,gruntjs,grunt-contrib-copy,

0

Ответов: 1


0

Существует несколько способов добиться этого.

Настройте свою copyзадачу на одно из следующих. Вы , вероятно , нужно всего лишь следовать Решение A .

Примечание. Решение A и B , оба достигают того же результата. Решение C дает несколько иной результат:


Решение A

Используя одну цель с именем htmlвы можете сделать это:

components

Примечание. В srcмассиве выше первого элемента, который читает, htmlиспользуется шаблон Globbing (т. Е.components Часть). Это означает, что все элементы из папки и во время копирования включают все подпапки на многие уровни.copy:{ html:{ files:[{ src:'index.html', dest:'build/' }] }, components:{ files:[{ src:'components/**', dest:'build/' }] } }


Решение B

Или, используя две цели; один названный htmlи другой названный, componentsвы можете сделать это:

build

Это очень похоже на решение A , однако оно использует две цели вместо одной, что может быть более подходящим, поскольку имена целей фактически указывают на то, что они копируют.


Решение C

Однако, если вы действительно не хотите, чтобы componentsпапка была скопирована build, и вместо этого вы хотите, чтобы содержимое componentsпапки было скопировано, вы можете сделать это:

copy:{
  html:{
    files:[{
      src:'index.html',
      dest:'build/'
    }]
  },
  components:{
    files:[{
      expand:true,
      cwd: 'components',
      src:'**',
      dest:'build/'
    }]
  }
}

Примечание. Дополнительную информацию см. В разделе файлов документации grunt:

JavaScript, gruntjs, хрюкать-вно-копии,
Похожие вопросы