如何禁用grunt-contrib-cssmin组合?

时间:2015-04-22 01:24:20

标签: javascript gruntjs grunt-contrib-cssmin

我有三个文件:

'selectize.default.css'
'selectize.pagination.css'
'selectize.patch.css'

我希望尽量减少它们。

这是我的gruntfile:

cssmin: {
     min: {
         files: [{
             expand: true,
             cwd: 'css',
             src: [
               'selectize.default.css',
               'selectize.pagination.css',
               'selectize.patch.css',
               '!*.min.css'
             ],
             dest: 'release/css',
             ext: '.min.css'
         }]
     }
}

问题是只有一个名为selectize.min.css的文件 我不希望它只减少一个文件。我怎样才能最大限度地减少这三个呢?

2 个答案:

答案 0 :(得分:3)

所以这张票有点陈旧,但正如彭林上面雄辩地说的那样,对于大多数程序员来说,选择的答案是不够的,因为它需要过多的手动调整。这是不可维护的。

Grunt可以指定扩展点在文件名中的位置。默认情况下,它设置为第一个有效更改输出文件名的文件。该属性称为extDot。如果需要,您可以阅读Here

如果您将其设置为最后,它将保留您的文件名,您的原始示例将起作用。

示例:

cssmin: {
  min: {
     files: [{
         expand: true,
         cwd: 'css',
         src: [
           'selectize.default.css',
           'selectize.pagination.css',
           'selectize.patch.css',
           '!*.min.css'
         ],
         dest: 'release/css',
         ext: '.min.css',
         extDot: 'last'   // Extensions in filenames begin after the last dot
     }]
 }  }

希望这有助于将来。

答案 1 :(得分:-2)

如果我正确理解您的问题,您希望最小化文件,但不要将它们合并为一个?在这种情况下,我的建议是为每个文件单独调用。 e.g:

cssmin: {
     default: {
         files: [{
             expand: true,
             cwd: 'css',
             src: [
               'selectize.default.css',
             ],
             dest: 'release/css',
             ext: '.min.css'
         }]
     },
     pagination: {
         files: [{
             expand: true,
             cwd: 'css',
             src: [
               'selectize.pagination.css',
             ],
             dest: 'release/css',
             ext: '.min.css'
         }]
     },
     patch: {
         files: [{
             expand: true,
             cwd: 'css',
             src: [
               'selectize.patch.css',
             ],
             dest: 'release/css',
             ext: '.min.css'
         }]
     },
 }

它可能不是最干净的方式,但它会做你想要的。我还没有测试过这段代码,所以请注意,我不知道它是否有效。