I have not found a good way to grunt-uglify multiple script files spread over multiple folders while keeping the folder structure including the uglified files intact. The on
This solution not working for me.
This is working example:
path: {
build: {
src: 'assets',
js: 'js',
css: 'css'
},
js: 'js',
css: 'css'
},
uglify: {
scripts: {
expand: true,
cwd: '<%= path.js %>/',
src: [
'**/*.js',
'*.js',
//skip minified scripts
'**/!*.min.js',
'!*.min.js'
],
dest: '<%= path.build.src %>/<%= path.build.js %>/',
rename: function (destBase, destPath) {
return destBase + destPath.replace('.js', '.min.js');
}
}
},
//same options for css minify
cssmin: {
styles: {
expand: true,
cwd: '<%= path.css %>/',
src: [
'**/*.css',
'*.css',
//skip minified styles
'**/!*.min.css',
'!*.min.css'
],
dest: '<%= path.build.src %>/<%= path.build.css %>/',
rename: function (destBase, destPath) {
return destBase + destPath.replace('.css', '.min.css');
}
}
},
//and watch it for changes
watch: {
js: {
files: [
'<%= path.js %>/*.js',
'<%= path.js %>/**/*.js'
],
tasks: [
'uglify:scripts'
],
options: {
livereload: true
}
},
css: {
files: [
'<%= path.css %>/*.css',
'<%= path.css %>/**/*.css'
],
tasks: [
'cssmin:styles'
],
options: {
livereload: true
}
}
}