Оптимизация свои активы сайта и тестирования дизайна в различных браузерах, конечно, не самое веселое частью процесса проектирования.К счастью, он состоит из повторяющихся заданий, которые могут быть автоматизированы с правильными инструментами, чтобы повысить эффективность работы вашего .
Глоток является система сборки, которые могут улучшить, как вы разрабатываем сайты за счет автоматизации общих задач, таких как составление препроцессированный CSS, minifying наличие и перезагрузки браузера.В этой статье мы увидим, как вы можете использовать Глоток изменить свой workflow, что делает его более быстрым и эффективным .
Что такое Глоток
Gulp 1 является система сборки, означает, что вы можете использовать его для автоматизации общих задач в развитии веб-сайта.Он построен на Node.js, и оба источника Глоток и ваш Глоток за файл, где вы определяете задачи, которые написаны на JavaScript (или что-то вроде CoffeeScript, если вы того пожелаете).Это делает его идеальным, если вы фронтальный Разработчик: Вы можете написать задачи нибудь вкусненькое свой наличие и CSS, анализировать свои шаблоны и скомпилировать меньше, когда файл был изменен (и это только несколько примеров), а вязык, который вы, вероятно, уже знакомы с .
Глоток сам по себе не действительно много, но огромное количество плагинов доступны, которые вы видите на плагины page 2 либо путем поиска gulpplugin
по НПМ.Например, есть плагины для запустить JSHint 3 , компилировать ваш CoffeeScript 4 , запустить Mocha tests 5 и даже обновить версию number 6 .
Другие инструменты для сборки, такие, как Grunt 7 и, в последнее время, Broccoli 8 , но я считаю, Глоток быть выше (смраздел “Почему Глоток?” ниже).Я составил длинный список строительных инструментов, написанных на JavaScript 9 .
Глоток является открытым исходным кодом и может быть узнать на GitHub 10 .
Установка Gulp
Установка Глоток довольно легко.Во-первых, необходимо установить пакет глоток во всем мире:
npm install -g gulp
Затем установите его в свой проект:
npm install --save-dev gulp
Использование Gulp
Давайте создадим глоток задачу Минимизировать один из наших файлов JavaScript.Создайте файл с именем gulpfile.js
.Это где вы будете определять ваши глоток задачи, которые будут выполняться с использованием gulp
Команда .
Поставьте следующее в вашем gulpfile.js
файла:
var gulp = require('gulp'),
uglify = require('gulp-uglify');
gulp.task('minify', function () {
gulp.src('js/app.js')
.pipe(uglify())
.pipe(gulp.dest('build'))
});
Установка gulp-uglify
по НПМ работает npm install --save-dev gulp-uglify
, а затем запустить задачу, запустив gulp minify
.Если предположить, что у вас есть файл с именем app.js
в js
каталог, новая app.js
будет создан в директории для сборки, содержащей сжатый содержимое js/app.js
.
Что на самом деле произошло здесь, хотя
Мы делаем несколько вещей в нашей gulpfile.js
файла.Во-первых, мы загружаем в gulp
и gulp-uglify
модули:
var gulp = require('gulp'),
uglify = require('gulp-uglify');
Тогда, мы определим задачу с именем minify
, которые, при запуске будет вызывать функцию, представленную в качестве второго аргумента:
gulp.task('minify', function () {
});
Наконец, — и это, где это становится сложнее — мы определяем, что наша задача должна делать:
gulp.src('js/app.js')
.pipe(uglify())
.pipe(gulp.dest('build'))
Если вы не знакомы с потоками, которые большинство интерфейсных разработчики не, выше код не будет означать многое для вас .
Streams
Потоки позволяют пройти некоторые данные через ряд, как правило, небольших функций, которые будут изменять данные, а затем передать измененные данные в следующую функцию .
В приведенном выше примере, gulp.src()
функция принимает строку, которая соответствует файл или несколько файлов (известный как “Глоб”), и создает поток объектов, представляющих эти файлы.Затем они прошли (или водопроводной) до uglify()
функции, которая принимает объекты файл и возвращает новые файловые объекты с минимизированы источника.Это выход переправлена gulp.dest()
функции, которая сохраняет измененные файлы .
В виде диаграммы, это то, что происходит: