Grunt 可以单独缩小多个文件,而不将它们连接起来吗?
Can Grunt minify multiple files separately, without concatenating them?
我有一个 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" 运行第二个。
第二次为 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');
};
我有一个 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" 运行第二个。
第二次为 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');
};