【问题标题】:Could not create a minified css file using grunt-contrib-cssmin无法使用 grunt-contrib-cssmin 创建缩小的 css 文件
【发布时间】:2014-07-31 12:35:37
【问题描述】:

我第一次使用 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']);

}

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

谢谢你

【问题讨论】:

    标签: gruntjs grunt-contrib-cssmin


    【解决方案1】:

    您的代码与grunt-contrib-cssmin documentation page. 的代码有点不同`

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

    `

    【讨论】:

      【解决方案2】:

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

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

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

      希望对你有帮助。

      问候。

      【讨论】:

      • 我之前使用的相同 cssmin 配置适用于另一个项目,但不适用于该项目。这可能是 CSS 代码问题吗?
      【解决方案3】:

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

      grunt.registerTask('default', ['concat', 'cssmin']);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-28
        • 1970-01-01
        • 1970-01-01
        • 2014-03-07
        • 2023-03-23
        • 2016-01-04
        相关资源
        最近更新 更多