grunt-contrib-cssmin:目标缩小文件

时间:2015-05-19 12:59:04

标签: css gruntjs relative-path grunt-contrib-cssmin

我正在使用grunt-contrib-cssmin来缩小我的css文件。我希望在我的目标缩小文件中自动替换css文件中的相对URL。我已经找到了这个问题并找到了我可以用来替换url的两个选项,

  

目标,根

我认为target是我应该使用的那个。我在我的后续Gruntfile.js中尝试了它,但它没有产生我想要的缩小文件。

以下是Gruntfile.js

module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
  cssmin: {
    combine: {
      options: {
        target: "build/"
      },
      files: [{
        dest: 'build/app.min.css',
        src: "Modules/test/app.css"
      }]
    }
  }
});

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

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

它会转换以下app.css - :

.edit {
  background: url(../../Main/img/edit.png);
}

关注app.min.css

.edit{background:url(../../Main/img/edit.png)}

我想要的是,缩小的URL类似于以下内容:

.edit{background:url(../Main/img/edit.png)}

我认为目标选项应该更改相对URL,但在我的情况下它没有做任何事情。请让我知道我做错了什么。

谢谢,

Sukhdeep

1 个答案:

答案 0 :(得分:6)

我认为您需要将 rebase 设置为 true ,并相应地设置路径。我也在努力,但这并不明显。经过一些试验和错误,我得到了这样的工作。

    grunt.initConfig({
      cssmin: {
          options: {
              relativeTo: "./Main/img",
              target: "./build",
              rebase: true
          },
          combine: {
              files: [{
                  dest: 'build/precisionag.min.css',
                  src: "Modules/test/app.css"
              }]
          }
      }
    });

有关不同clean-css选项的更多信息,请访问clean-css