My talk on Grunt.js at Frontend DEV Conf '13
- A brief introduction into what Grunt is and what can be used for
- Installation overview and basics of project scaffolding
- Task types and setup concepts, custom tasks creation
- Most useful parts of the Task API.
Presentation: http://www.slideshare.net/FDConf/javascript-grunt
Video: http://video.yandex.by/users/fdconf/view/11/
- Что такое Grunt и зачем он нужен
- Пример использования
- установка (используем
grunt-cliиnpm init) - простой Gruntfile (используем JSHint, concat и UglifyJS)
- установка (используем
- Подробнее об установке Grunt
- package.json и devDependencies
- grunt-init
- Структура Gruntfile
- module.exports
- initConfig()
- loadNpmTasks() (загрузка установленных задач)
- registerTask() (алиасы, default)
- Задачи в деталях
- Типы задач (basic tasks, multi tasks)
- Создание задач (registerTask() и registerMultiTask())
- Целевые файлы (форматы, обобщающие паттерны)
- Task API (полезные свойства, обработка ошибок, async, requires, requiresConfig)
- Cтандартные таски
- О библиотеке grunt-contrib
- jshint
- uglify
- concat
- qunit
- watch
- Другие таски из grunt-contrib
- clean, copy, compress
- coffee
- csslint и сssmin
- less, sass и stylus
- jasmine и nodeunit
- handlebars, jade, jst
- requireJS
- Отличия между 0.3 и 0.4