Guest User

Untitled

a guest
Jul 29th, 2015
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.48 KB | None | 0 0
  1. Дабы быть ценным сотрудником, нужно уметь не только верстать точно и красиво, но и делать это быстро. Для ускорения и автоматизации рабочего процесса существуют программы, называемые сборщиками. Я напишу про Gulp, а вы допиливайте. Итак:
  2. Установка
  3. Тебе потребуется установить в систему node.js, скачав её с https://nodejs.org/download/
  4. В составе этого пакета идёт пакетный менеджер npm, с помощью которого скачивается сам Gulp и его модули.
  5. Открой окно консоли в папке своего рабочего проекта (пользователи Win7 могут сделать это, зажав шифт и вызвав контекстное меню, в котором будет команда "открыть окно команд") и выполни
  6. npm init
  7. Таким образом ты создаешь package файл, в котором будет содержаться информация о проекте и пакеты, которые в нём использованы. После инициализации устанавливай gulp командой
  8. npm install --save-dev gulp
  9. Аттрибут --save-dev записывает имя скачиваемого пакета в тот самый package файл, что упрощает последующую установку.
  10. Помимо сборщика понадобятся модули для него. Я пройдусь по тем, которые использую сам, качай их так же, как сам gulp:
  11. gulp-less, gulp-autoprefixer, gulp-livereload
  12. Это минимально необходимые вещи, со временем твой package обрастет другими модулями. На очереди составление gulpfile'а.
  13. Этот файл содержит набор правил на Java Script, по которым действует сборщик. Вначале объявление используемых модулей. В нашем случае:
  14.  
  15. var gulp = require('gulp'),
  16. less = require('gulp-less'),
  17. autoprefixer = require('gulp-autoprefixer'),
  18. livereload = require('gulp-livereload');
  19.  
  20. Для удобства я создаю переменные путей:
  21.  
  22. var less_src = 'less/*.less',
  23. css_dist = 'css',
  24. html = '*.html';
  25.  
  26. Далее объявление функции, которая компилирует и обрабатывает Less файлы.
  27.  
  28. gulp.task('less', function() {
  29. return gulp.src(less_src) // берём less файлы из папки, указанной в переменной
  30. .pipe(less()) // компилируем less в css
  31. .pipe(autoprefixer( // дописываем вендорные префиксы, где необходимо, учитывая
  32. 'last 2 version', // запросы слева
  33. '> 1%',
  34. 'ie 8',
  35. 'ie 9',
  36. 'ios 6',
  37. 'android 4'
  38. ))
  39. .pipe(gulp.dest(css_dist, {ext: '.css'})) // записываем получившийся файл в папку из переменной и с расширением .css
  40. .pipe(livereload()); // Производим инъекцию css браузеру
  41. });
  42. Инъекция - вещь, непосредственно влияющая на скорость рабочего процесса. Функция ниже будет наблюдать за указанными ей файлами, а в случае изменения в них (когда ты сохраняешь файл) запускает функцию less и отсылает в браузер новые стили, без необходимости перезагрузки.
  43.  
  44. gulp.task('default', ['less', 'watch']); // команда gulp, запущенная из консоли, будет выполнять задания, которые указаны в её параметрах.
  45. gulp.task('watch', function() { // Описание функции, отслеживающей изменения
  46. livereload.listen(); // Слежка
  47. gulp.watch(less_src, ['less']).on('change', livereload.changed); // Обработка less файла, который изменился
  48. gulp.watch(html).on('change', livereload.changed); // Обработка html файла, который изменился
  49. });
  50.  
  51. Сохраняем, шагаем в chrome store, ищем и устанавливаем плагин LiveReload. Он выведет свою иконку на панель хрома: 2 полукруглые стрелки исветлая точка внутри. Переходим в консоль, запускаем
  52. gulp
  53. Происходит компиляция файлов и запуск "слежки". В браузере тыкаешь на иконку LiveReload и если всё сделал правильно - белая точка станет чёрной. Теперь любое изменение в стилях будет мгновенно отображаться в браузере после сохранения.
Advertisement
Add Comment
Please, Sign In to add comment