Метеор нуждается в Gulp или Grunt?

Итак, я читал о Gulp и Grunt, и о том, как они могут минимизировать код, сжимать файлы, объединять файлы в один, загружать их и т. Д. Однако Meteor уже делает все это с Isobuild.

Я спрашиваю, почему кто-то предложил использовать Gulp с Meteor, и я не вижу в этом необходимости. Каковы некоторые возможные причины, почему я должен управлять Gulp вместе с Meteor? Или это просто избыточно?

Если он не является избыточным, какие функции есть у Gulp, которых нет в Isobuild? И планирует ли команда Метеор включить Gulp в свои следующие версии?

1 ответ

Решение

Нужно, наверное, не то слово. Хотите вы этого или нет, это отдельная история.

Как уже упоминалось выше, в Meteor есть очень умная система сборки под названием isobuild, которая создает ваше ВСЕ приложение для вас. Но, безусловно, есть случаи, когда вы можете захотеть выполнить свои собственные задачи, которые лучше всего выполнить через ворчание или глоток. (Диапазон задач, которые вы можете выполнить с этим, ошеломляет, поэтому я собираюсь перечислить только пару простых общих примеров.)

Наиболее очевидным будет использование ресурсов, которые вы хотите поместить в общую папку. Но это далеко не полный список задач, которые вы, возможно, захотите автоматизировать в более крупном проекте.

  • Компилируйте файлы SASS, не используя компилятор libsass (потому что он не поддерживает все функции)
  • Сжатие и оптимизация изображений, файлов SVG, значков и т. Д.
  • Создать несколько размеров / версий изображений
  • Создать листы спрайтов
  • Конкатенация и минимизация скриптов в вашем собственном порядке / порядке
  • Комбинируйте с Bower для управления внешними пакетами, недоступными в атмосфере и т. Д.

Я бы подошел к этому, положив все это в личную папку, чтобы избежать ее с помощью системы сборки meteor isobuild.

Я полагаю, что это достаточные причины, чтобы не считать Gulp или Grunt избыточными, а диапазон задач, возможных для grunt или gulp, настолько разнообразен, что их нельзя перечислить здесь. Излишне говорить, что IsoBuild является фантастическим для того, что он делает, но он не заменит все возможное этими бегунами задач, и, насколько мне известно, нет никаких планов по включению Gulp в IsoBuild. IsoBuild - это ядро ​​того, чем является Meteor, gulp и grunt являются очень мощными инструментами автоматизации с тысячами возможных применений.

Вот действительно хороший стартер для gulp, его очень просто начать: учебник по NodeJitsu Gulp

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

Если вы хотите использовать grunt или gulp, вот как я подхожу к структурированию своего проекта:

Project-folder
    |__ webapp  // my meteor app lives here
    |__ assets  // scss / images / svgs
    |__ node_modules
    | gruntfile.js
    | .eslintrc
    | package.json

Затем я создаю, минимизирую и обрабатываю свои активы, используя целевые каталоги в webapp/public

Обратите внимание, что при полной поддержке npm, поступающей в Meteor@1.3, это может измениться, хотя мне неясно, сможем ли мы еще внести это в проект.

Другие вопросы по тегам