2013-05-30 2 views
6

Я просто хочу получить мнение о моем рабочем процессе. Я знаю Йомена и специально решил не использовать его. Мой рабочий процесс выглядит следующим образом:Рабочий процесс Bower and Grunt

  1. Запустите bower install, чтобы установить все зависимости активов проекта.
  2. Запуск grunt, который копирует все js-файлы из папки компонентов bower в новую папку js и все файлы css в новую папку css.
  3. Дальнейшее использование задачи grunt для объединения и минимизации всех js и css-файлов из новых папок и установки их в папку dist.
  4. Обратитесь к последним миниатюрам css и js в папке dist из HTML.

Одна вещь, которую я, конечно, не хочу делать в своей задаче grunt, - выполнять конкретную задачу зависимости, например. захватите все js-файлы из папки bootstrap в новую папку js, затем возьмите все js-файлы из папки prettyphoto в новую папку js. Я хочу, чтобы задача grunt была как можно более общей, чтобы я мог использовать один и тот же файл grunt в любом проекте, независимо от того, как выглядят зависимости между ними. Причина в том, что я должен потратить все эти время на запись моего файла grunt для каждого проекта, почему бы мне не просто захватить исходные коды для всех зависимостей обычным способом.

Итак, есть плагин grunt-contrib-copy для копирования файлов из одного места в другое, которое я использую для захвата всех js-файлов из папки компонентов bower. Проблема заключается в том, что большинство компонентов боулера поставляются с регулярными js и сокращенной версией. Итак, я копирую их и конкатенирую и уширяю их. Итак, повторяйте код!

Имеет ли смысл мой рабочий процесс? Так, как я могу избавиться от проблемы, о которой я упоминал в предыдущем абзаце?

ответ

2

Если я правильно понимаю, вы должны взглянуть на grunt-usemin. Вы можете обернуть ваши теги js в <!-- build:js js/foo.js -->. Задача useminPrepare, включенная в пакет, будет циклически проходить через любые скрипты (или css, или изображения и т. Д.), Которые есть, и динамически добавлять их в задачу concat или uglify.

Единственный недостаток, который я обнаружил, заключается в том, что задача usemin довольно медленная, но, надеюсь, если реализовано this pull request, все будет намного быстрее.

+0

Спасибо, я попробовал usemin и его великолепно. Дело только в том, что обновленные версии js и css-файлов на самом деле не созданы. Это известная проблема на компьютере Windows. Я не вижу ничего плохого в моей конфигурации. – Prashant

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