grunt:使用uglifyjs uglify css文件

时间:2013-03-20 16:43:42

标签: gruntjs

我正在使用grunt来uglify我的静态文件(使用grunt v0.4.0)。我已将其配置为uglify一个文件,但我无法弄清楚如何让它执行两个文件 - despite reading this questionusage 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。

3 个答案:

答案 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 非常相似。