2015-05-08 57 views
0

我似乎無法弄清楚如何爲某個任務構造配置。目前我正在嘗試爲cssmin這麼做。如何構建一個Grunt任務來開發和發佈

這個配置片斷正常工作:

cssmin: { 
    options: { 
     shorthandCompacting: false, 
     roundingPrecision: -1 
    }, 
    target: { 
     files: { 
      'wwwroot/all.css': ['bower_components/animate/animate.css'] 
     } 
    } 
}, 

而且我運行此像這樣:

grunt.registerTask('Test', ['cssmin']); 

但我想創造一個發展釋放配置這一點。所以我嘗試了以下配置樣式,它們都是Done, without errors.,但沒有一個配置文件創建了文件。

cssmin: { 
    options: { 
     shorthandCompacting: false, 
     roundingPrecision: -1 
    }, 
    dev: { 
     target: { 
      files: { 
       'wwwroot/all.css': ['bower_components/animate/animate.css'] 
      } 
     } 
    } 
} 
grunt.registerTask('Test', ['cssmin:dev']); 

而且這樣的:

cssmin: { 
    dev: { 
     options: { 
      shorthandCompacting: false, 
      roundingPrecision: -1 
     }, 
     target: { 
      files: { 
       'wwwroot/all.css': ['bower_components/animate/animate.css'] 
      } 
     } 
    } 
} 
grunt.registerTask('Test', ['cssmin:dev']); 

但這些CONFIGS似乎並不管用。它們保存Done, without errors.,但它不像第一個配置示例那樣創建CSS文件。

那麼,你是不是應該創建一個不同的配置類型dev/release?我在這裏做錯了什麼?

回答

0

當您撥打cssmin:dev時,dev是您的目標。沒有必要再次指定target的適當性。試試這個:

cssmin: { 
    dev: { 
     options: { 
      shorthandCompacting: false, 
      roundingPrecision: -1 
     }, 
     files: { 
      'wwwroot/all.css': ['bower_components/animate/animate.css'] 
     } 
    }, 
    build : { 
     options: { 
      shorthandCompacting: true, 
      roundingPrecision: -1 
     }, 
     files: { 
      'wwwroot/all.min.css': ['bower_components/animate/animate.css'] 
     } 
    } 
} 
grunt.registerTask('Test', ['cssmin:dev']);