我想写一个空文件,即使目标文件是空的。
有可能吗?
我得到的错误是"目的地未写,因为缩小的css是空的"。
我正在使用grunt-contrib-cssmin
模块。
答案 0 :(得分:1)
仅使用grunt-contrib-cssmin
,您不能。
在想知道某个开源软件特有的东西时开始的好地方:源代码本身 - 任务只有~70行。从the source我们可以看到您收到的“错误”:
if (min.length === 0) {
return grunt.log.warn('Destination not written because minified CSS was empty.');
}
您可能希望查看“触摸”该文件。如果您熟悉* nix,您将知道如果文件不存在,触摸将创建文件,如果文件不存在,不将截断文件。在Grunt(node.js)中,您可能希望查看node-touch
或grunt-exec
。
至于您的Gruntfile
,您只需要一个以下两项任务:
module.exports = function (grunt) {
var touch = require('touch');
grunt.initConfig({
'cssmin': {
'combine': {
'files': { 'path/to/output.css': ['path/to/input_one.css', 'path/to/input_two.css'] }
}
},
'exec': {
'touch': { 'command': 'touch path/to/output.css' }
}
});
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-exec');
grunt.registerTask('touch', touch.sync.bind(undefined, 'path/to/output.css'));
grunt.registerTask('minifycss1', ['cssmin', 'exec:touch']); // 1
grunt.registerTask('minifycss2', ['cssmin', 'touch']); // 2
};
grunt-exec
。node-touch
。