我正在使用grunt来uglify我的静态文件(使用grunt v0.4.0)。我已将其配置为uglify一个文件,但我无法弄清楚如何让它执行两个文件 - despite reading this question和usage examples。
这是我目前所拥有的:
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
mangle: true
},
build: {
src: 'dist/main.js',
dest: 'dist/main.min.js'
}
}
我也希望uglify dist/main.css
。我该如何添加它?我按照用法示例尝试了这个:
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
mangle: true
},
build: {
files: {
'dist/main.min.js': ['dist/main.js'],
'dist/main.min.css': ['dist/main.css']
}
}
}
但是这给了我以下错误:
WARN: ERROR: Unexpected token: punc ({) [dist/main.css:7,41]
Warning: Uglification failed. Use --force to continue.
Aborted due to warnings.
似乎它在第一个{
上窒息 - 为什么会发生这种情况?这是有效的CSS。
答案 0 :(得分:60)
Uglify适用于Javascript而非CSS。尝试使用http://github.com/gruntjs/grunt-contrib-cssmin使用Grunt缩小CSS。
答案 1 :(得分:5)
Uglify仅适用于Javascript,但YUI Compressor可以同时执行Javascript和CSS:YUI Compressor
答案 2 :(得分:3)
有一种名为 UglifyCSS (https://github.com/fmarcia/UglifyCSS)的类似解决方案:
shell: uglifycss "source.css" > "output.min.css"
其行为与 UglifyJS 非常相似。