我有一个Sailsjs项目,它带有内置的Grunt。这tasks/register/prod.js
看起来像:
module.exports = function(grunt) { grunt.registerTask('prod', [ 'compileAssets', //'concat', 'uglify', 'cssmin', 'sails-linker:prodJs', 'sails-linker:prodStyles', //'sails-linker:devTpl', //'sails-linker:prodJsJade', //'sails-linker:prodStylesJade', //'sails-linker:devTplJade' ]); };
这是我尝试让Grunt分别缩小文件大小tasks/config/cssmin.js
:
module.exports = function(grunt) { grunt.config.set('cssmin', { dist: { src: 'assets/css/test.css', dest: '.tmp/public/min/test.min.css' } }); grunt.config.set('cssmin', { dist: { src: 'assets/css/main.css', dest: '.tmp/public/min/main.min.css' } }); grunt.loadNpmTasks('grunt-contrib-cssmin'); };
这不能正常工作,它只会给我main.min.css(最小),而不能给我test.min.css。
“ dist”不是语法的静态部分,它是目标的名称。您可以根据需要拥有任意数量的目标,但是不能有两个具有相同名称的目标。
grunt.config.set('cssmin', { test: { src: 'assets/css/test.css', dest: '.tmp/public/min/test.min.css' }, main: { src: 'assets/css/main.css', dest: '.tmp/public/min/main.min.css' } });
运行“ cssmin”将执行两个目标,“ cssmin:test”将运行第一个目标,而“ cssmin:main”将运行第二个目标。