0

我第一次使用 grunt,我可以使用 grunt-contrib-concat 连接 css 文件,但是在使用 grunt-conrib-cssmin 创建缩小的 css 文件时出现以下错误

错误是:

>> TypeError: Cannot call method 'clone' of undefined
Warning: CSS minification failed. Use --force to continue.

我的 package.json 文件是:

    {
        "name": "grunt-test-project",
        "description":"testing grunt css and js files minification",
        "repository":"",
        "version": "0.1.0",
        "devDependencies": {
            "grunt": "~0.4.5",
            "grunt-contrib-concat": "~0.5.0",
            "grunt-contrib-cssmin" : "~0.10.0"
        }
    }

我的 Gruntfile.js 文件是:

module.exports = function(grunt) {

    // Project configuration.
    grunt.initConfig({

        pkg: grunt.file.readJSON('package.json'),

        concat: {
            css: {
                src: [
                    'css/popup.css', 'css/styles_layouts.css', 'css/style.css', 'css/fileuploader.css','css/uniform.default.css',
                    'css/login_popup.css','css/validationEngine.jquery.css','css/ui-custom/jquery-ui.css'
                ],
                dest: 'css/build/combined.css'
            }

        },

        cssmin: {
            css:{
                src: 'css/build/combined.css',
                dest: 'css/build/combined.min.css'
            }
        }
    });


    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-cssmin');

    // Default task(s).
    grunt.registerTask('default', ['cssmin']);

}

如果您能提供一些解决方案,它将对我有很大帮助。

谢谢

4

3 回答 3

0

您的 cssmin 配置有问题。尝试改变它:

    cssmin: {
        css:{ 
            files: {
              'css/build/combined.min.css': ['css/build/combined.css']
            }
        }
    }

也许这可以解决您的问题。

希望能帮助到你。

问候。

于 2014-07-31T14:12:27.247 回答
0

可能是你忘记注册任务了:

grunt.registerTask('default', ['concat', 'cssmin']);
于 2014-11-10T20:27:37.880 回答
0

您的代码与grunt-contrib-cssmin 文档页面上的代码有些不同。`

cssmin: {
  options: {
    shorthandCompacting: false,
    roundingPrecision: -1
  },
  target: {
    files: {
      'output.css': ['foo.css', 'bar.css']
    }
  }
}

`

于 2016-05-06T07:35:05.553 回答