Возник вопрос по таску Watch. Хочу, чтоб при запуске грант-таска dev, вотчер отслеживал изменения в исходниках, автоматически компилировал их в папку build и перезагружал страницу в браузере. Однако, получается так, что scss компилится в какой-то временный файл, а css в папке build не отслеживается, что я делаю не так?
Вот код Gruntfile:
module.exports = function( grunt ) {
grunt.initConfig({
concat: {
options: {
process: function(src, filepath) {
return '\n//#### ' + filepath + '\n\n' + src;
}
},
dist: {
src: [ "source/js/jquery-1.8.2.min.js",
// Put dependent files here
"source/js/script.js"],
dest: 'build/js/script.js'
}
},
sass: {
dist: {
options: {
style: 'compressed'
},
files: {
'build/css/styles.css':'**/*.scss'
}
}
},
jade: {
compile: {
options: {
pretty: true
},
files: [{
cwd: "source",
src: ["*.jade"],
dest: "build",
expand: true,
ext: ".html",
}]
}
},
uglify: {
dist: {
files: {
"build/js/script.min.js" : "build/js/script.js"
}
}
},
imagemin: {
options: {
cache: false
},
dist: {
files: [{
expand: true,
cwd: 'source/img',
src: ['**/*.{png,jpg,gif}'],
dest: 'build/img/'
}]
}
},
watch: {
livereload: {
options: {
livereload: true
},
files: ['build/**/*']
},
src : {
files: ['source/**/*'],
task: ['default']
}
},
connect: {
server: {
options: {
port: 3000,
livereload: 35729,
hostname: 'localhost',
base: ['build']
},
livereload: {
options: {
open:true,
base: ['build']
}
}
}
}
});
require('load-grunt-tasks')(grunt);
grunt.registerTask('default', ['concat','sass','jade','uglify','imagemin']);
grunt.registerTask('dev',['connect','concat','sass','jade','uglify','imagemin','watch']);
}