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

How to disable grunt-contrib-cssmin combine?

我有三个文件:

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

我想将它们最小化。

这是我的 grunt 文件:

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 我不希望它只最小化一个文件。我怎样才能最小化这三个?

如果我对你的问题理解正确,你想最小化文件,而不是将它们合并为一个?在这种情况下,我的建议是分别调用每个文件。例如:

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'
         }]
     },
 }

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

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

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

如果您将它设置为 last,它将保留您的文件名并且您的原始示例将起作用。

示例:

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
     }]
 }  }

希望这对以后的人有所帮助。