Как использовать grunt-contrib-copy для копирования в корень и изменения структуры каталогов

У меня есть экспресс-приложение с моими представлениями разработчиков в /assets/views. Я полагаю, что мне нужно разделить представления для разработки и производства, потому что в производстве я буду редактировать HTML, когда я использовал grunt-contrib-usemin для объединения/исправления сценариев.

Так вот проблема. Мое текущее дерево:

assets/views
├── 404.html
├── index.html
├── layout.html
├── question_ask.html
└── question_display.html

В идеале я хочу, чтобы мои готовые к производству представления жили на том же уровне, что и активы. Используя grunt-contrib-copy, кажется, что копируется все дерево. В настоящее время я помещаю его в public, так как не знаю, как установить пункт назначения в корень проекта.

copy: {
    views: {
        src: ['assets/views/*.html'],
        dest: 'public/'
    }

Итак, здесь есть несколько вопросов:

  1. Является ли плохой практикой иметь представления разработчиков и представления производства? Если да, то есть ли другой способ создания представления со ссылками на сценарии concat/uglified?

  2. Как, черт возьми, я могу использовать grunt-contrib-copy для копирования в корень моего проекта? Я не хочу assets/views, очевидно, мне просто нужна папка views/* с содержимым того, что находится в assets/views/*.

Спасибо!


person imjared    schedule 31.10.2013    source источник


Ответы (1)


Вам нужно указать параметр flatten, который удалит структуру каталогов из пути назначения. См. мой ответ здесь: Копировать все файлы из каталога в другой с копией Grunt.js

person Ben    schedule 31.10.2013
comment
Успешно справился. Однако это нечто большее, чем просто сглаживание. Также необходимо «расширить». Также только что понял, что я могу установить dest: './views/', используя ., чтобы установить корень проекта. - person imjared; 01.11.2013