Javascript Grunt可以单独缩小多个文件而不连接它们吗?
我有一个Sailsjs项目,它内置了Grunt。以下是Javascript Grunt可以单独缩小多个文件而不连接它们吗?,javascript,gruntjs,sails.js,Javascript,Gruntjs,Sails.js,我有一个Sailsjs项目,它内置了Grunt。以下是tasks/register/prod.js的外观: module.exports = function(grunt) { grunt.registerTask('prod', [ 'compileAssets', //'concat', 'uglify', 'cssmin', 'sails-linker:prodJs', 'sails-linker:prodStyles', //'
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(minified)而没有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”将运行第二个目标。第二次为cssmin任务设置值时,您将覆盖以前的值,因此只返回main.min.css 要使用cssmin缩小多个单独的文件,只需设置grunt.config一次,如下所示:
module.exports = function(grunt) {
grunt.config.set('cssmin', {
dist: {
src: 'assets/css/test.css',
dest: '.tmp/public/min/test.min.css'
},
dist2: {
src: 'assets/css/main.css',
dest: '.tmp/public/min/main.min.css'
}
});
grunt.loadNpmTasks('grunt-contrib-cssmin');
};