Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Дабы быть ценным сотрудником, нужно уметь не только верстать точно и красиво, но и делать это быстро. Для ускорения и автоматизации рабочего процесса существуют программы, называемые сборщиками. Я напишу про Gulp, а вы допиливайте. Итак:
- Установка
- Тебе потребуется установить в систему node.js, скачав её с https://nodejs.org/download/
- В составе этого пакета идёт пакетный менеджер npm, с помощью которого скачивается сам Gulp и его модули.
- Открой окно консоли в папке своего рабочего проекта (пользователи Win7 могут сделать это, зажав шифт и вызвав контекстное меню, в котором будет команда "открыть окно команд") и выполни
- npm init
- Таким образом ты создаешь package файл, в котором будет содержаться информация о проекте и пакеты, которые в нём использованы. После инициализации устанавливай gulp командой
- npm install --save-dev gulp
- Аттрибут --save-dev записывает имя скачиваемого пакета в тот самый package файл, что упрощает последующую установку.
- Помимо сборщика понадобятся модули для него. Я пройдусь по тем, которые использую сам, качай их так же, как сам gulp:
- gulp-less, gulp-autoprefixer, gulp-livereload
- Это минимально необходимые вещи, со временем твой package обрастет другими модулями. На очереди составление gulpfile'а.
- Этот файл содержит набор правил на Java Script, по которым действует сборщик. Вначале объявление используемых модулей. В нашем случае:
- var gulp = require('gulp'),
- less = require('gulp-less'),
- autoprefixer = require('gulp-autoprefixer'),
- livereload = require('gulp-livereload');
- Для удобства я создаю переменные путей:
- var less_src = 'less/*.less',
- css_dist = 'css',
- html = '*.html';
- Далее объявление функции, которая компилирует и обрабатывает Less файлы.
- gulp.task('less', function() {
- return gulp.src(less_src) // берём less файлы из папки, указанной в переменной
- .pipe(less()) // компилируем less в css
- .pipe(autoprefixer( // дописываем вендорные префиксы, где необходимо, учитывая
- 'last 2 version', // запросы слева
- '> 1%',
- 'ie 8',
- 'ie 9',
- 'ios 6',
- 'android 4'
- ))
- .pipe(gulp.dest(css_dist, {ext: '.css'})) // записываем получившийся файл в папку из переменной и с расширением .css
- .pipe(livereload()); // Производим инъекцию css браузеру
- });
- Инъекция - вещь, непосредственно влияющая на скорость рабочего процесса. Функция ниже будет наблюдать за указанными ей файлами, а в случае изменения в них (когда ты сохраняешь файл) запускает функцию less и отсылает в браузер новые стили, без необходимости перезагрузки.
- gulp.task('default', ['less', 'watch']); // команда gulp, запущенная из консоли, будет выполнять задания, которые указаны в её параметрах.
- gulp.task('watch', function() { // Описание функции, отслеживающей изменения
- livereload.listen(); // Слежка
- gulp.watch(less_src, ['less']).on('change', livereload.changed); // Обработка less файла, который изменился
- gulp.watch(html).on('change', livereload.changed); // Обработка html файла, который изменился
- });
- Сохраняем, шагаем в chrome store, ищем и устанавливаем плагин LiveReload. Он выведет свою иконку на панель хрома: 2 полукруглые стрелки исветлая точка внутри. Переходим в консоль, запускаем
- gulp
- Происходит компиляция файлов и запуск "слежки". В браузере тыкаешь на иконку LiveReload и если всё сделал правильно - белая точка станет чёрной. Теперь любое изменение в стилях будет мгновенно отображаться в браузере после сохранения.
Advertisement
Add Comment
Please, Sign In to add comment