Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Алексей Иванов: немного о grunt.js #FrontTalks
Что такое grunt.js
• Инструмент для сборки проектов.
• Написан на n d . s, устанавливается через n m.
              oej                            p

• Запускается из консоли.
• Мы сегодня обсуждаем версию 0.4.0, в версии 0.3.x все сильно по-
  другому.
Компоненты
1. g u t — основное приложение, может ставиться как локально, так
    rn
  и на system path. Запускает таски.
2. g u t c i — глобальный враппер выбирающий использовать
    rn-l
  локальную версию grunt или глобальную.
3. g u t i i — утилита занимающаяся разворачиванием новых
    rn-nt
  проектов по шаблонам.
4. Конкретные таски и шаблоны (тысячи их).
Какие бывают таски
1. Запуск препроцессоров: less, stylus, coffeescript.
2. Сжатие css и js: yui, csso, uglify.js.

3. Проверка синтаксиса: csslint, jshint.
4. Запуск юнит-тестов: jasmine, qunit.

5. Обработка картинок и сборка спрайтов: imgo.
6. Сохранение скриншотов из html в статику: capser.js.
7. Автозапуск тасков при изменения в файлах и собственный сервер.
Настройка
1. В корень проекта добавляется файл G u t i e j с конфигом.
                                      rnfl.s
2. Рядом с ним кладем файл p c a e j o для установки grunt.js и
                            akg.sn
  тасков (можно генерировать автоматом из шаблонов).
3. Перед первым запускам делаем n m i s a l
                                 p ntl

4. Теперь таски и группы тасков можно запускать через консоль в папке
  проекта.
Конфиг
0 .m d l . x o t = f n t o ( g u t ) {
 1 oueeprs          ucin rn
0.
2      gutiiCni(
        rn.ntofg{

0.
3           / ттжвткниитсо
             / у иу офг акв
0.
4      };
        )
0.
5      gutlaNmak(gutsml';
        rn.odpTss'rn-ape)
0.
6      gutrgseTs(dfut,['oct,'ape ];
        rn.eitrak'eal' cna' sml' )
0 .}
 7 ;
Конфиг таска
0 .j h n : {
 1 sit
0.
2      s c [ "l b * / . s" "! i / q e y j
        r:     i/**j ,       l b j u r . s" ],
0.
3      otos {
        pin:
0.
4          cry tu,
            ul: re
0.
5          goas {
            lbl:
0.
6              jur:tu
                Qey re
0.
7          }

0.
8      }
0 .}
 9
Конфиг мультитаска
0 .h n l b r : {
 1 adeas
0.
2      cmie {
        opl:

0.
3          otos {nmsae "S"}
            pin:  aepc: JT ,
0.
4          fls {
            ie:

0.
5              " e u t j " "p t / o s u c . b ,
                rsl.s:       a h t / o r e h s"
0.
6              " n t e . s : [ a h * h s" "m r / . b ]
                a o h r j " "p t / . b ,    o e * h s"
0.
7          }
0.
8      }
0 .}
 9
Переназначение опций
0 .h n l b r : {
 1 adeas
0.
2      cmie {
        opl:
0.
3           o t o s { n m s a e "J T" }
             pin:      aepc:      S    ,
0.
4           fls {
             ie:

0.
5               "eutj" "aht/orehs,
                 rsl.s: pt/osuc.b"
0.
6           }
0.
7      },
0.
8      otos {nmsae fle }
        pin:  aepc: as  ,
0 .}
 9
Автогенерация src/dest
0 .s y e t : {
 1 tlto
0.
2      fls [{
        ie:

0.
3           epn:tu,
             xad re
0.
4           sc ['-ee/-ee.tl,'-/**sy']
             r:  irstirstsy' b**/.tl ,
0.
5           ds:'uls/,
             et pbih'
0.
6           et 'cs,
             x: .s'
0.
7           fatn tu
             lte: re
0.
8      }]
0 .}
 9
Запуск из папки проекта
1. g u t
    rn
2. g u t l n
    rn it
3. g u t c n a : a n
    rn octmi
Ссылки по теме
1. https://github.com/gruntjs/grunt
2. https://github.com/gruntjs/grunt-cli

3. https://github.com/gruntjs/grunt-init

More Related Content

What's hot

Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Iosif Itkin
 
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep «Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
e-Legion
 
Многопоточность в R
Многопоточность в RМногопоточность в R
Многопоточность в R
Алексей Селезнёв
 
Reform: путь к лучшему ORM
Reform: путь к лучшему ORMReform: путь к лучшему ORM
Reform: путь к лучшему ORM
Badoo Development
 
Пакет future
Пакет futureПакет future
"Web Audio Api", Анатолий Найда, MoscowJS 27
"Web Audio Api", Анатолий Найда, MoscowJS 27"Web Audio Api", Анатолий Найда, MoscowJS 27
"Web Audio Api", Анатолий Найда, MoscowJS 27
MoscowJS
 
kranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Lockerkranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Locker
Krivoy Rog IT Community
 
Филипп Ковалев — Путь в npm
Филипп Ковалев — Путь в npmФилипп Ковалев — Путь в npm
Филипп Ковалев — Путь в npm
Yandex
 
Clojure – есть ли жизнь после Java
Clojure – есть ли жизнь после JavaClojure – есть ли жизнь после Java
Clojure – есть ли жизнь после Java
Olim Saidov
 
Недостатки Linux API с точки зрения разработчика веб-сервера.
Недостатки Linux API с точки зрения разработчика веб-сервера.Недостатки Linux API с точки зрения разработчика веб-сервера.
Недостатки Linux API с точки зрения разработчика веб-сервера.
Alexandr Nox
 
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
Badoo Development
 
Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...
Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...
Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...
Python Meetup
 
ES6. Генераторы
ES6. ГенераторыES6. Генераторы
ES6. Генераторы
oelifantiev
 
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
DataArt
 
PowerShell
PowerShellPowerShell
PowerShell
GetDev.NET
 
Python infrastructure from scratch
Python infrastructure from scratchPython infrastructure from scratch
Python infrastructure from scratch
Виктор Тыщенко
 

What's hot (20)

Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
 
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep «Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
 
Многопоточность в R
Многопоточность в RМногопоточность в R
Многопоточность в R
 
Reform: путь к лучшему ORM
Reform: путь к лучшему ORMReform: путь к лучшему ORM
Reform: путь к лучшему ORM
 
Пакет future
Пакет futureПакет future
Пакет future
 
"Web Audio Api", Анатолий Найда, MoscowJS 27
"Web Audio Api", Анатолий Найда, MoscowJS 27"Web Audio Api", Анатолий Найда, MoscowJS 27
"Web Audio Api", Анатолий Найда, MoscowJS 27
 
Tarantool_qs
 Tarantool_qs Tarantool_qs
Tarantool_qs
 
kranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Lockerkranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Locker
 
Филипп Ковалев — Путь в npm
Филипп Ковалев — Путь в npmФилипп Ковалев — Путь в npm
Филипп Ковалев — Путь в npm
 
Clojure – есть ли жизнь после Java
Clojure – есть ли жизнь после JavaClojure – есть ли жизнь после Java
Clojure – есть ли жизнь после Java
 
Недостатки Linux API с точки зрения разработчика веб-сервера.
Недостатки Linux API с точки зрения разработчика веб-сервера.Недостатки Linux API с точки зрения разработчика веб-сервера.
Недостатки Linux API с точки зрения разработчика веб-сервера.
 
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
 
Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...
Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...
Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные...
 
ES6. Генераторы
ES6. ГенераторыES6. Генераторы
ES6. Генераторы
 
работа с файлами в с++
работа с файлами в с++работа с файлами в с++
работа с файлами в с++
 
Wordpress Cron
Wordpress CronWordpress Cron
Wordpress Cron
 
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
 
PowerShell
PowerShellPowerShell
PowerShell
 
Python infrastructure from scratch
Python infrastructure from scratchPython infrastructure from scratch
Python infrastructure from scratch
 
new JavaScript
new JavaScriptnew JavaScript
new JavaScript
 

Viewers also liked

Сборка Front-end’a
Сборка Front-end’aСборка Front-end’a
Сборка Front-end’a
DelphiCon
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
Gleb Pospelov
 
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
MoscowJS
 
Backbone Javascript Application
Backbone Javascript ApplicationBackbone Javascript Application
Backbone Javascript Application
Alexander Kucherenko
 
Know yourengines velocity2011
Know yourengines velocity2011Know yourengines velocity2011
Know yourengines velocity2011
Demis Bellot
 
Good front end - bad front-end (Vladimir Gutorov)
Good front end -  bad  front-end (Vladimir Gutorov)Good front end -  bad  front-end (Vladimir Gutorov)
Good front end - bad front-end (Vladimir Gutorov)
LumoSpark
 

Viewers also liked (6)

Сборка Front-end’a
Сборка Front-end’aСборка Front-end’a
Сборка Front-end’a
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
 
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
 
Backbone Javascript Application
Backbone Javascript ApplicationBackbone Javascript Application
Backbone Javascript Application
 
Know yourengines velocity2011
Know yourengines velocity2011Know yourengines velocity2011
Know yourengines velocity2011
 
Good front end - bad front-end (Vladimir Gutorov)
Good front end -  bad  front-end (Vladimir Gutorov)Good front end -  bad  front-end (Vladimir Gutorov)
Good front end - bad front-end (Vladimir Gutorov)
 

Similar to Алексей Иванов: немного о grunt.js #FrontTalks

Python i18n
Python i18nPython i18n
Денис Чистяков: Паттерны проектирования
Денис Чистяков: Паттерны проектированияДенис Чистяков: Паттерны проектирования
Денис Чистяков: Паттерны проектирования
Yandex
 
Денис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, всеДенис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, все
Yandex
 
Статический анализ: ошибки в медиаплеере и безглючная аська
Статический анализ: ошибки в медиаплеере и безглючная аська Статический анализ: ошибки в медиаплеере и безглючная аська
Статический анализ: ошибки в медиаплеере и безглючная аська
Tatyanazaxarova
 
Parallel STL
Parallel STLParallel STL
Parallel STL
Evgeny Krutko
 
OpenStreetMap на вашем сайте
OpenStreetMap на вашем сайтеOpenStreetMap на вашем сайте
OpenStreetMap на вашем сайте
Alexander Sapozhnikov
 
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кодаHacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
Anastasia Lubennikova
 
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИСTARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
2ГИС Технологии
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
larhat
 
Python и его тормоза
Python и его тормозаPython и его тормоза
Python и его тормоза
Alexander Shigin
 
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
Alexey Paznikov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
Почему Rust стоит вашего внимания
Почему Rust стоит вашего вниманияПочему Rust стоит вашего внимания
Почему Rust стоит вашего внимания
Michael Pankov
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
Python Meetup
 
Принципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioПринципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-Studio
Andrey Karpov
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Yandex
 
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Ontico
 
Управление памятью в GO
Управление памятью в GOУправление памятью в GO
Управление памятью в GO
ssuserb5dd93
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Yandex
 

Similar to Алексей Иванов: немного о grunt.js #FrontTalks (20)

Python i18n
Python i18nPython i18n
Python i18n
 
Денис Чистяков: Паттерны проектирования
Денис Чистяков: Паттерны проектированияДенис Чистяков: Паттерны проектирования
Денис Чистяков: Паттерны проектирования
 
Денис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, всеДенис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, все
 
Статический анализ: ошибки в медиаплеере и безглючная аська
Статический анализ: ошибки в медиаплеере и безглючная аська Статический анализ: ошибки в медиаплеере и безглючная аська
Статический анализ: ошибки в медиаплеере и безглючная аська
 
Parallel STL
Parallel STLParallel STL
Parallel STL
 
OpenStreetMap на вашем сайте
OpenStreetMap на вашем сайтеOpenStreetMap на вашем сайте
OpenStreetMap на вашем сайте
 
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кодаHacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
 
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИСTARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
 
Python и его тормоза
Python и его тормозаPython и его тормоза
Python и его тормоза
 
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
Почему Rust стоит вашего внимания
Почему Rust стоит вашего вниманияПочему Rust стоит вашего внимания
Почему Rust стоит вашего внимания
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
 
Принципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioПринципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-Studio
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
 
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
 
Ngs 2 0_0
Ngs 2 0_0Ngs 2 0_0
Ngs 2 0_0
 
Управление памятью в GO
Управление памятью в GOУправление памятью в GO
Управление памятью в GO
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 

More from JetStyle

Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"
Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"
Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"
JetStyle
 
Об особенностях работы художника, который гипотетически может все
Об особенностях работы художника, который гипотетически может всеОб особенностях работы художника, который гипотетически может все
Об особенностях работы художника, который гипотетически может все
JetStyle
 
Как выжить в условиях сложного продукта. Дарья Прокуда.
Как выжить в условиях сложного продукта. Дарья Прокуда.Как выжить в условиях сложного продукта. Дарья Прокуда.
Как выжить в условиях сложного продукта. Дарья Прокуда.
JetStyle
 
CPC-трафик в unit-экономике, Полина Бынова
CPC-трафик в unit-экономике, Полина БыноваCPC-трафик в unit-экономике, Полина Бынова
CPC-трафик в unit-экономике, Полина Бынова
JetStyle
 
Битва мух и котлет. Сторителлинг в проектировании взаимодействия.
Битва мух и котлет. Сторителлинг в проектировании взаимодействия. Битва мух и котлет. Сторителлинг в проектировании взаимодействия.
Битва мух и котлет. Сторителлинг в проектировании взаимодействия.
JetStyle
 
Исследовательские проекты в жизненном цикле и рутинных процессах компании
Исследовательские проекты в жизненном цикле и рутинных процессах компанииИсследовательские проекты в жизненном цикле и рутинных процессах компании
Исследовательские проекты в жизненном цикле и рутинных процессах компании
JetStyle
 
Управление - это игра. Алексей Кулаков, JetStyle
Управление - это игра. Алексей Кулаков, JetStyleУправление - это игра. Алексей Кулаков, JetStyle
Управление - это игра. Алексей Кулаков, JetStyle
JetStyle
 
Разработка MVP. Зачем это нужно и как это делать?
Разработка MVP. Зачем это нужно и как это делать? Разработка MVP. Зачем это нужно и как это делать?
Разработка MVP. Зачем это нужно и как это делать?
JetStyle
 
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015
JetStyle
 
Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015
Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015
Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015
JetStyle
 
Автоматизация общения с менеджером, Полина Бынова, JetStyle
Автоматизация общения с менеджером, Полина Бынова, JetStyleАвтоматизация общения с менеджером, Полина Бынова, JetStyle
Автоматизация общения с менеджером, Полина Бынова, JetStyle
JetStyle
 
Постановка задачи на сайт. Алексей Кулаков
Постановка задачи на сайт. Алексей КулаковПостановка задачи на сайт. Алексей Кулаков
Постановка задачи на сайт. Алексей Кулаков
JetStyle
 
Данные на службе бизнеса
Данные на службе бизнесаДанные на службе бизнеса
Данные на службе бизнеса
JetStyle
 
Как узнать о ваших покупателях все?
Как узнать о ваших покупателях все?Как узнать о ваших покупателях все?
Как узнать о ваших покупателях все?
JetStyle
 
Петли в проектировании интерфейсов, DUMP 2014
Петли в проектировании интерфейсов, DUMP 2014Петли в проектировании интерфейсов, DUMP 2014
Петли в проектировании интерфейсов, DUMP 2014
JetStyle
 
Как создать зарабатывающее приложение, UIN 2014
Как создать зарабатывающее приложение, UIN 2014Как создать зарабатывающее приложение, UIN 2014
Как создать зарабатывающее приложение, UIN 2014
JetStyle
 
Frontttalks nov2013
Frontttalks nov2013Frontttalks nov2013
Frontttalks nov2013
JetStyle
 
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.jsDUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
JetStyle
 
Мобильное приложение для бизнеса: взгляд со стороны разработчика
Мобильное приложение для бизнеса: взгляд со стороны разработчикаМобильное приложение для бизнеса: взгляд со стороны разработчика
Мобильное приложение для бизнеса: взгляд со стороны разработчика
JetStyle
 
Интерфейсы для Smart TV #uxsreda
Интерфейсы для Smart TV #uxsredaИнтерфейсы для Smart TV #uxsreda
Интерфейсы для Smart TV #uxsreda
JetStyle
 

More from JetStyle (20)

Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"
Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"
Создание нового стиля, дизайна и шрифта для "Батенька, да вы трансформер!"
 
Об особенностях работы художника, который гипотетически может все
Об особенностях работы художника, который гипотетически может всеОб особенностях работы художника, который гипотетически может все
Об особенностях работы художника, который гипотетически может все
 
Как выжить в условиях сложного продукта. Дарья Прокуда.
Как выжить в условиях сложного продукта. Дарья Прокуда.Как выжить в условиях сложного продукта. Дарья Прокуда.
Как выжить в условиях сложного продукта. Дарья Прокуда.
 
CPC-трафик в unit-экономике, Полина Бынова
CPC-трафик в unit-экономике, Полина БыноваCPC-трафик в unit-экономике, Полина Бынова
CPC-трафик в unit-экономике, Полина Бынова
 
Битва мух и котлет. Сторителлинг в проектировании взаимодействия.
Битва мух и котлет. Сторителлинг в проектировании взаимодействия. Битва мух и котлет. Сторителлинг в проектировании взаимодействия.
Битва мух и котлет. Сторителлинг в проектировании взаимодействия.
 
Исследовательские проекты в жизненном цикле и рутинных процессах компании
Исследовательские проекты в жизненном цикле и рутинных процессах компанииИсследовательские проекты в жизненном цикле и рутинных процессах компании
Исследовательские проекты в жизненном цикле и рутинных процессах компании
 
Управление - это игра. Алексей Кулаков, JetStyle
Управление - это игра. Алексей Кулаков, JetStyleУправление - это игра. Алексей Кулаков, JetStyle
Управление - это игра. Алексей Кулаков, JetStyle
 
Разработка MVP. Зачем это нужно и как это делать?
Разработка MVP. Зачем это нужно и как это делать? Разработка MVP. Зачем это нужно и как это делать?
Разработка MVP. Зачем это нужно и как это делать?
 
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015
 
Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015
Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015
Нарративные игры как метод прототипирования, Алексей Кулаков, UWDC 2015
 
Автоматизация общения с менеджером, Полина Бынова, JetStyle
Автоматизация общения с менеджером, Полина Бынова, JetStyleАвтоматизация общения с менеджером, Полина Бынова, JetStyle
Автоматизация общения с менеджером, Полина Бынова, JetStyle
 
Постановка задачи на сайт. Алексей Кулаков
Постановка задачи на сайт. Алексей КулаковПостановка задачи на сайт. Алексей Кулаков
Постановка задачи на сайт. Алексей Кулаков
 
Данные на службе бизнеса
Данные на службе бизнесаДанные на службе бизнеса
Данные на службе бизнеса
 
Как узнать о ваших покупателях все?
Как узнать о ваших покупателях все?Как узнать о ваших покупателях все?
Как узнать о ваших покупателях все?
 
Петли в проектировании интерфейсов, DUMP 2014
Петли в проектировании интерфейсов, DUMP 2014Петли в проектировании интерфейсов, DUMP 2014
Петли в проектировании интерфейсов, DUMP 2014
 
Как создать зарабатывающее приложение, UIN 2014
Как создать зарабатывающее приложение, UIN 2014Как создать зарабатывающее приложение, UIN 2014
Как создать зарабатывающее приложение, UIN 2014
 
Frontttalks nov2013
Frontttalks nov2013Frontttalks nov2013
Frontttalks nov2013
 
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.jsDUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
 
Мобильное приложение для бизнеса: взгляд со стороны разработчика
Мобильное приложение для бизнеса: взгляд со стороны разработчикаМобильное приложение для бизнеса: взгляд со стороны разработчика
Мобильное приложение для бизнеса: взгляд со стороны разработчика
 
Интерфейсы для Smart TV #uxsreda
Интерфейсы для Smart TV #uxsredaИнтерфейсы для Smart TV #uxsreda
Интерфейсы для Smart TV #uxsreda
 

Алексей Иванов: немного о grunt.js #FrontTalks

  • 2. Что такое grunt.js • Инструмент для сборки проектов. • Написан на n d . s, устанавливается через n m. oej p • Запускается из консоли. • Мы сегодня обсуждаем версию 0.4.0, в версии 0.3.x все сильно по- другому.
  • 3. Компоненты 1. g u t — основное приложение, может ставиться как локально, так rn и на system path. Запускает таски. 2. g u t c i — глобальный враппер выбирающий использовать rn-l локальную версию grunt или глобальную. 3. g u t i i — утилита занимающаяся разворачиванием новых rn-nt проектов по шаблонам. 4. Конкретные таски и шаблоны (тысячи их).
  • 4. Какие бывают таски 1. Запуск препроцессоров: less, stylus, coffeescript. 2. Сжатие css и js: yui, csso, uglify.js. 3. Проверка синтаксиса: csslint, jshint. 4. Запуск юнит-тестов: jasmine, qunit. 5. Обработка картинок и сборка спрайтов: imgo. 6. Сохранение скриншотов из html в статику: capser.js. 7. Автозапуск тасков при изменения в файлах и собственный сервер.
  • 5. Настройка 1. В корень проекта добавляется файл G u t i e j с конфигом. rnfl.s 2. Рядом с ним кладем файл p c a e j o для установки grunt.js и akg.sn тасков (можно генерировать автоматом из шаблонов). 3. Перед первым запускам делаем n m i s a l p ntl 4. Теперь таски и группы тасков можно запускать через консоль в папке проекта.
  • 6. Конфиг 0 .m d l . x o t = f n t o ( g u t ) { 1 oueeprs ucin rn 0. 2 gutiiCni( rn.ntofg{ 0. 3 / ттжвткниитсо / у иу офг акв 0. 4 }; ) 0. 5 gutlaNmak(gutsml'; rn.odpTss'rn-ape) 0. 6 gutrgseTs(dfut,['oct,'ape ]; rn.eitrak'eal' cna' sml' ) 0 .} 7 ;
  • 7. Конфиг таска 0 .j h n : { 1 sit 0. 2 s c [ "l b * / . s" "! i / q e y j r: i/**j , l b j u r . s" ], 0. 3 otos { pin: 0. 4 cry tu, ul: re 0. 5 goas { lbl: 0. 6 jur:tu Qey re 0. 7 } 0. 8 } 0 .} 9
  • 8. Конфиг мультитаска 0 .h n l b r : { 1 adeas 0. 2 cmie { opl: 0. 3 otos {nmsae "S"} pin: aepc: JT , 0. 4 fls { ie: 0. 5 " e u t j " "p t / o s u c . b , rsl.s: a h t / o r e h s" 0. 6 " n t e . s : [ a h * h s" "m r / . b ] a o h r j " "p t / . b , o e * h s" 0. 7 } 0. 8 } 0 .} 9
  • 9. Переназначение опций 0 .h n l b r : { 1 adeas 0. 2 cmie { opl: 0. 3 o t o s { n m s a e "J T" } pin: aepc: S , 0. 4 fls { ie: 0. 5 "eutj" "aht/orehs, rsl.s: pt/osuc.b" 0. 6 } 0. 7 }, 0. 8 otos {nmsae fle } pin: aepc: as , 0 .} 9
  • 10. Автогенерация src/dest 0 .s y e t : { 1 tlto 0. 2 fls [{ ie: 0. 3 epn:tu, xad re 0. 4 sc ['-ee/-ee.tl,'-/**sy'] r: irstirstsy' b**/.tl , 0. 5 ds:'uls/, et pbih' 0. 6 et 'cs, x: .s' 0. 7 fatn tu lte: re 0. 8 }] 0 .} 9
  • 11. Запуск из папки проекта 1. g u t rn 2. g u t l n rn it 3. g u t c n a : a n rn octmi
  • 12. Ссылки по теме 1. https://github.com/gruntjs/grunt 2. https://github.com/gruntjs/grunt-cli 3. https://github.com/gruntjs/grunt-init