Ответ 1
Gulp (и Grunt) позволяет автоматизировать задачи.
Практически все, что вы делаете повторно в проекте, может быть автоматизировано с помощью gulp и плагинов. и если вы не можете найти плагин для выполнения этой работы, gulp - это просто приложение nodejs, поэтому вы можете быстро написать свой собственный код для выполнения задания.
Что касается примеров, так как я сам являюсь веб-разработчиком angular, я приведу вам примеры из земли Front End Development, но не думаю, что gulp ограничивается только этой областью. Вот несколько примеров:
- автоматизировать процесс сборки (некоторые примеры подзадач здесь)
- возьмите все ваши проекты html, js, css, объедините их и уменьшите их
- автоматически вставляет зависимости в ваши html файлы.
- слушать изменения файлов и запускать задачи при изменении файла
- Каждый раз, когда вы добавляете js файл, вам нужно добавить его в ваши html файлы. это может быть автоматизировано.
- каждый раз, когда вы сохраняете файл JavaScript, который хотите запустить jshint на нем, чтобы предупреждать об ошибках
- каждый раз, когда вы сохраняете файл CoffeeScript, вы хотите, чтобы он был автоматически преобразован в файл javascript, и этот файл javascript был включен в ваши html файлы.
- удаление файлов автоматически
- тысячи других вещей
Еще одно интересное преимущество, которое вы получаете с помощью инструментов сборки JavaScript (в отличие от Java Ant или Rails Rake), заключается в том, что большинство веб-приложений там используют JavaScript. Так что, если ваш задний конец находится в Java или Rails или С++... ваши люди в конце концов всегда радуются под JavaScript. Это означает, что независимо от того, какой язык вы используете, вы STILL используете JavaScript... Что делает такие инструменты, как gulp очень интересными, потому что опыт работы с JavaScript и JavaScript гарантированно существует в любой команде веб-разработки.
Я думаю, что я обновляю это вовремя, чтобы сделать его более ясным. До тех пор взгляните на:
http://gulpjs.com/plugins/, чтобы получить представление о некоторых легко доступных функциях, которые вы можете получить с помощью gulp.
Вот пример быстрого кода задачи gulp, которая берет ваши проектные изображения и перемещает их в папку dist:
gulp.task('images', ['clean'], function () {
return gulp.src('/src/assets/images/**/*')
.pipe(gulp.dest('dist/assets/images/'));
});
Задачи могут соединяться вместе и полагаться друг на друга. Обратите внимание, как задачи "изображения" зависят от "чистого". Это означает, что если вы хотите запустить "образы", ваша "чистая" задача будет автоматически вызвана раньше. Это позволяет объединять задачи вместе, для очень мощных последовательностей задач многократного использования. Вот пример того, как выглядит "чистый":
gulp.task('clean', function (done) {
del(['/dist'], done);
});
Вот некоторая случайная страница, которую я нашел с поиском google. Он содержит очень четкий файл coffeescript с примерами задач автоматизации gulp в проекте Front End: http://pem-musing.blogspot.ca/2014/02/a-gulp-of-coffee-your-gulpfile-in.html
Надеюсь, что это поможет