Submit Search
Upload
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
•
1 like
•
324 views
7bits
Follow
Стажировка-2015. Занятие 13. Сборка фронтенда
Read less
Read more
Education
Report
Share
Report
Share
1 of 70
Download now
Download to read offline
Recommended
Ускорение frontend-разработки с помощью Haml, Sass, Compass
Ускорение frontend-разработки с помощью Haml, Sass, Compass
Andrey Sitnik
State of the Standardized Web
State of the Standardized Web
Yandex
Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSS
DataArt
State of theStandardized Web. YaC 2014
State of theStandardized Web. YaC 2014
Yandex
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
Yandex
Web весна 2013 лекция 1
Web весна 2013 лекция 1
Technopark
Advanced locators - little prince
Advanced locators - little prince
COMAQA.BY
Андрей Тюпа Оптимизация верстки Sass + Compass framework
Андрей Тюпа Оптимизация верстки Sass + Compass framework
Albina Tiupa
Recommended
Ускорение frontend-разработки с помощью Haml, Sass, Compass
Ускорение frontend-разработки с помощью Haml, Sass, Compass
Andrey Sitnik
State of the Standardized Web
State of the Standardized Web
Yandex
Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSS
DataArt
State of theStandardized Web. YaC 2014
State of theStandardized Web. YaC 2014
Yandex
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
Yandex
Web весна 2013 лекция 1
Web весна 2013 лекция 1
Technopark
Advanced locators - little prince
Advanced locators - little prince
COMAQA.BY
Андрей Тюпа Оптимизация верстки Sass + Compass framework
Андрей Тюпа Оптимизация верстки Sass + Compass framework
Albina Tiupa
Components now! (in russian)
Components now! (in russian)
Mikhail Davydov
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (...
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (...
AvitoTech
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
xasima
Web осень 2012 лекция 1
Web осень 2012 лекция 1
Technopark
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
1 1
Ашманов и Партнеры "Псевдо-продвижение или деньги на ветер"
Ашманов и Партнеры "Псевдо-продвижение или деньги на ветер"
sersnick
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
7bits
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
7bits
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
7bits
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
7bits
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
7bits
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
7bits
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
7bits
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
7bits
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
7bits
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
7bits
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
7bits
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC
7bits
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock
7bits
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP
7bits
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
7bits
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
7bits
More Related Content
What's hot
Components now! (in russian)
Components now! (in russian)
Mikhail Davydov
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (...
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (...
AvitoTech
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
xasima
Web осень 2012 лекция 1
Web осень 2012 лекция 1
Technopark
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
1 1
Ашманов и Партнеры "Псевдо-продвижение или деньги на ветер"
Ашманов и Партнеры "Псевдо-продвижение или деньги на ветер"
sersnick
What's hot
(6)
Components now! (in russian)
Components now! (in russian)
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (...
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (...
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Web осень 2012 лекция 1
Web осень 2012 лекция 1
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
Ашманов и Партнеры "Псевдо-продвижение или деньги на ветер"
Ашманов и Партнеры "Псевдо-продвижение или деньги на ветер"
Viewers also liked
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
7bits
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
7bits
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
7bits
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
7bits
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
7bits
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
7bits
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
7bits
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
7bits
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
7bits
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
7bits
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
7bits
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC
7bits
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock
7bits
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP
7bits
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
7bits
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
7bits
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
7bits
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
7bits
Стажировка-2014, занятие 4. Планирование процесса тестирования.
Стажировка-2014, занятие 4. Планирование процесса тестирования.
7bits
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
7bits
Viewers also liked
(20)
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Стажировка-2014, занятие 4. Планирование процесса тестирования.
Стажировка-2014, занятие 4. Планирование процесса тестирования.
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Similar to Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Andrey Sitnik
Front-end разработка. Compass
Front-end разработка. Compass
DrupalSib
SASS & LESS
SASS & LESS
Raman Budny
LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.
ADCI Solutions
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
rit2011
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
rit2011
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Ontico
CSS. Практика
CSS. Практика
Vitebsk Miniq
Web весна 2012 лекция 10
Web весна 2012 лекция 10
Technopark
Web весна 2013 лекция 10
Web весна 2013 лекция 10
Technopark
Knockout.JS на примере 2ГИС-Онлайн
Knockout.JS на примере 2ГИС-Онлайн
DevDay
Web осень 2012 лекция 10
Web осень 2012 лекция 10
Technopark
Кроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети Яндекса
Media Gorod
Оптимизация графики на практике
Оптимизация графики на практике
Timophy Chaptykov
Knockoutjs на примере 2ГИС-Онлайн
Knockoutjs на примере 2ГИС-Онлайн
2ГИС Технологии
Moscow js 26 webpack
Moscow js 26 webpack
lgordey
MoscowJS 26 webpack presentation
MoscowJS 26 webpack presentation
lgordey
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
Olga Pirozhenko
Михаил Черномордиков Ie9
Михаил Черномордиков Ie9
Siel01
Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"
Yandex
Similar to Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
(20)
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Front-end разработка. Compass
Front-end разработка. Compass
SASS & LESS
SASS & LESS
LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
CSS. Практика
CSS. Практика
Web весна 2012 лекция 10
Web весна 2012 лекция 10
Web весна 2013 лекция 10
Web весна 2013 лекция 10
Knockout.JS на примере 2ГИС-Онлайн
Knockout.JS на примере 2ГИС-Онлайн
Web осень 2012 лекция 10
Web осень 2012 лекция 10
Кроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети Яндекса
Оптимизация графики на практике
Оптимизация графики на практике
Knockoutjs на примере 2ГИС-Онлайн
Knockoutjs на примере 2ГИС-Онлайн
Moscow js 26 webpack
Moscow js 26 webpack
MoscowJS 26 webpack presentation
MoscowJS 26 webpack presentation
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
Михаил Черномордиков Ie9
Михаил Черномордиков Ie9
Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"
More from 7bits
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
7bits
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
7bits
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
7bits
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
7bits
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
7bits
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
7bits
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. Web
7bits
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
7bits
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java
7bits
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
7bits
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию
7bits
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
7bits
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
7bits
Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM
7bits
More from 7bits
(14)
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
1.
Сборка фронта
2.
Зачем?
3.
Зачем? ● Префиксы в
CSS ● Инлайн картинок и шрифтов в CSS ● Собрать CSS и JS ● Сжать CSS и JS
4.
Какие бывают?
5.
Gulp Grunt Browserify Webpack
6.
Browserify
7.
Browserify npm install -g
browserify
8.
Browserify ● Объединение JS
через require() ● Использование npm-библиотек в браузере ● Компиляторы CoffeeScript и т.п.
9.
Browserify require('underscore'); module.exports = function()
{ ... }
10.
Browserify browserify src/index.js -o
assets/out.js -d
11.
Webpack
12.
Webpack npm install webpack
-g npm install webpack --save-dev
13.
Webpack webpack src/index.js assets/out.js
14.
Webpack webpack.config.js: module.exports = { entry:
"./index.js", output: { path: __dirname, filename: "out.js" }, module: { loaders: [ { test: /.css$/, loader: "style!css" } ] } };
15.
Webpack WATCH MODE: webpack --progress
--colors --watch
16.
Grunt
17.
Grunt npm install -g
grunt-cli npm install grunt --save-dev
18.
Grunt module.exports = function(grunt)
{ grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */n' }, build: { src: 'src/<%= pkg.name %>.js', dest: 'build/<%= pkg.name %>.min.js' } } }); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.registerTask('default', ['uglify']); };
19.
Grunt: проблемы ● Запись
на диск каждого шага ● Для каждого шага компиляции нужно указывать файлы
20.
Gulp
21.
Gulp $ npm install
--global gulp $ npm install --save-dev gulp
22.
Gulp var gulp =
require('gulp'); gulp.task('default', function() { ... });
23.
Gulp var postcss =
require('gulp-postcss'); gulp.task('css', function () { return gulp.src('src/**/*.css') .pipe( postcss([...]) ) .pipe( gulp.dest('build/') ); });
24.
Gulp ● Запись на
диск только в самом конце ● Шаги могут идти параллельно Gulp быстрее до 2-х раз
25.
Плагины для Gulp
26.
Browsersync
27.
Browsersync npm install browser-sync
gulp --save-dev
28.
Browsersync var gulp =
require('gulp'); var browserSync = require('browser-sync').create(); gulp.task('browser-sync', function() { browserSync.init({ server: { baseDir: "./" } }); });
29.
gulp.task('browser-sync', function() { browserSync.init({ server:
{ baseDir: "./" } }); }); gulp.task('browser-sync', function() { browserSync.init({ proxy: "yourlocal.dev" }); }); var gulp = require('gulp'); var browserSync = require('browser-sync').create();
30.
PostCSS
31.
Что умет postcss?
32.
Ничего
33.
Всё делают плагины
34.
Что умеет Sass?
35.
Переменные: Sass $font-stack: Helvetica,
sans-serif; $primary-color: #333; body { font: 100% $font-stack; color: $primary-color; }
36.
Переменные: postcss-simple-vars $font-stack: Helvetica,
sans-serif; $primary-color: #333; body { font: 100% $font-stack; color: $primary-color; }
37.
Вложенность: Sass nav { ul
{ margin: 0; padding: 0; } li { display: inline-block } }
38.
Вложенность: postcss-nested nav { ul
{ margin: 0; padding: 0; } li { display: inline-block } }
39.
Вложенность: postcss-nested .phone { &_title
{ width: 500px; body.is_dark & { color: white; } } img { width: 500px; } }
40.
Вложенность: postcss-nested .phone_title {
width: 500px; } body.is_dark .phone_title { color: white; } .phone img { width: 500px; }
41.
Миксины: Sass @mixin border-radius($radius)
{ -webkit-border-radius: $radius; -moz-border-radius: $radius; -ms-border-radius: $radius; border-radius: $radius; } .box { @include border-radius(10px) }
42.
Миксины: postcss-mixins @define-mixin border-radius
$radius { -webkit-border-radius: $radius; -moz-border-radius: $radius; -ms-border-radius: $radius; border-radius: $radius; } .box { @mixin border-radius 10px; }
43.
Миксины: postcss-mixins @define-mixin icon
$network, $color: blue { .icon.is-$(network) { color: $color; @mixin-content; } .icon.is-$(network):hover { color: white; } } @mixin icon twitter { background: url(twt.png); }
44.
Миксины: postcss-mixins .icon.is-twitter { color:
blue; background: url(twt.png); } .icon.is-twitter:hover { color: white; }
45.
Наследование: Sass .message { border:
1px solid #ccc; color: #333; } .success { @extend .message; border-color: green; }
46.
Наследование: postcss-simple-extend @define-placeholder message
{ border: 1px solid #ccc; color: #333; } .success { @extend .message; border-color: green; }
47.
Операторы: Sass .container { width:
600px / 960px * 100%; }
48.
Операторы: postcss-calc .container { width:
calc(600px / 960px * 100%); }
49.
Импорт: Sass // _reset.scss htm,
body { margin: 0; } /* base.scss */ @import ‘reset’; body { background-color: #efefef; } ...
50.
Импорт: postcss-import // _reset.css htm,
body { margin: 0; } /* base.css */ @import ‘reset.css’; body { background-color: #efefef; } ...
51.
Импорт: postcss-import @import ‘reset’; @import
‘css/foo.css’; (min-width: 25em) body { background-color: #efefef; } ...
52.
Импорт: postcss-import /* content
of ./node_modules/foo/index.css */ @media(min-width: 25em) { /* content of bar.css */ } body { background-color: #efefef; } ...
53.
что еще?
54.
Autoprefixer :fullscreen a { display:
flex; }
55.
Autoprefixer :-webkit-full-screen a { display:
-webkit-box; display: -webkit-flex; display: flex; } :-moz-full-screen a { display: flex; } :-ms-fullscreen a { display: -ms-flexbox; display: flex; } :fullscreen a { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
56.
postcss-assets var options =
{ loadPaths:['media/img/', 'images/'] } body { background: resolve(‘foobar.jpg’); background: resolve(‘icons/baz.png’); }
57.
postcss-assets body { background: resolve(‘/media/img/foobar.jpg’); background:
resolve(‘/images/icons/baz.png’); }
58.
postcss-assets body { width: width(‘/images/foobar.png’); height:
height(‘/images/foobar.png’); background-size: size(‘/images/foobar.png’); }
59.
postcss-assets body { width: 320px; height:
240px; background-size: 320px 240px; }
60.
postcss-assets body { width: width(‘images/foobar.png’,
2); height: height(‘images/foobar.png’, 2); background-size: size(‘images/foobar.png’, 2); }
61.
postcss-assets body { width: 160px; height:
120px; background-size: 160px 120px; }
62.
postcss-assets body { background: inline(‘images/foobar.png’); }
63.
Отзеркаливание: RTLCSS
64.
PostCss Более 90 плагинов
65.
Скорость?
66.
Парсинг CSS
67.
Парсинг и д.р.
68.
Плюсы ● Скорость ● Больше
функций ● Расширяемость
69.
Используем в Gulp var
postcss = require('gulp-postcss'); gulp.task('compile:css', function () { return gulp.src('src/*.css') .pipe( postcss([plugin1, plugin2, plugin3]) ) .pipe( gulp.dest('dist') ); });
70.
Спасибо за внимание
Download now