I\'ve just scaffolded an Angular app using Yeoman. I\'ve noticed that the build
task does several things by default, including minifying and concatenating js files.
Ok, I've edited the default grunt file so that it does what I want.
My solution involved writing tasks called copy:devDist
and compass:devDist
, and then combining them into a devDist
task.
//
// copy:devDist --> copies everything into the dist folder, except styles/
//
copy: {
[...]
devDist: {
files: [{
expand: true,
dot: true,
cwd: '<%= yeoman.app %>',
dest: '<%= yeoman.dist %>',
src: [
'**','!styles/**' // everything but styles/
]
}]
}
},
//
// compass:devDist --> compile the sass; put result in dist/styles/
//
compass: {
[...]
devDist: {
options: {
cssDir: '<%= yeoman.dist %>/styles'
}
}
},
//
// register a 'devDist' task that calls the two tasks above
//
grunt.registerTask('devDist', [
'clean:dist',
'copy:devDist',
'compass:devDist'
]);
Now running grunt devDist
compiles my css and puts a fully functional app into my dist folder. Excellent. :)