4

我正在使用 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,但在我的情况下它什么也没做。请让我知道我做错了什么。

谢谢,

苏赫迪普

4

1 回答 1

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

于 2015-05-19T13:57:07.197 回答