9

I have three files:

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

and I want to minimize them.

Here is my 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'
         }]
     }
}

Problem is there is only one file named selectize.min.css I don't want it to minimize only one file. How can I minimize all three of them?

4

2 回答 2

4

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

Grunt 有一种方法可以指定扩展点在文件名中的位置。默认情况下,它设置为第一个有效地更改输出文件名的选项。该属性称为 extDot。如果你愿意,你可以在这里阅读。

如果您将其设置为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
     }]
 }  }

希望这对将来的某人有所帮助。

于 2015-12-09T15:18:43.500 回答
-2

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

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

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

于 2015-04-22T03:59:14.153 回答