module.exports = function (grunt) { // Волшебная строчка. Она творит магию. require('load-grunt-tasks')(grunt); var serveStatic = require('serve-static'); grunt.initConfig({ // Эта таска отслеживает изменения в файлах проекта // и запускает другие таски при необходимости. watch: { // При изменении файлов открытая страничка // в браузере перезагрузится автоматически. livereload: { options: { livereload: '<%= connect.options.livereload %>' }, files: [ 'app/**' ] } }, // Эта таска запускает сервер. connect: { options: { port: 9000, hostname: 'localhost', livereload: 35729, middleware: function (connect) { return [ serveStatic('app'), connect().use('/bower_components', serveStatic('./bower_components')) ]; } }, livereload: { options: { open: false } } } }); // Регестрируем таску, которую можно вызвать с консоли. // По сути, под одним названием мы запускаем другие в указанном порядке. grunt.registerTask('server', [ 'connect', 'watch' ]); };