我想在 Gruntfile.js
中设置watch监听目录下的所有.less文件的更改(第一步),同时触发相应less文件编译为.css文件(第二步)。
我目前的设置是这样的:
module.exports = function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
less: {
files: ['public/**/*.less'],
tasks:['less:task1'],
options: {livereload:false}
},
css: {
files: ['public/**/*.css'],
options: {livereload:true}
}
},
less: {
task1:{
options: {
compress: false,
yuicompress: false
},
files: {
"public/css/style1.css": "public/css/style1.less",
"public/css/style2.css": "public/css/style2.less"
//...
}
}
},
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('default',['watch']);
grunt.registerTask('lessc',['less:task1']);
};
以上配置目前只实现了第一步watch的监听,在less任务中,我现在只能列举出每一个存在的less文件。
但是我想用通配符来做。如果用通配符这样写的话:
files: {
"public/**/*.css": "public/**/*.less"
}
结果是编译的时候真的生成了**
文件名的文件夹和文件(如下)。现在我不知道这里应该怎么写呢?求教。
>> File "public/css/style1.less" changed.
Running "less:task1" (less) task
File tpl/**/*.css created
less :{ main: { expand: true, cwd: './less/', src: ['**/*.less'], dest: './css/', ext: '.css' } },