grunt-contrib-less , .: https://github.com/gruntjs/grunt-contrib-less/issues/89
grunt.file, , . : LESS CSS
Gruntfile.js:
module.exports = function (grunt) {
'use strict';
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
});
var allTaskArray = [];
var tasks = {};
grunt.file.recurse('less/', function(abspath, rootdir, subdir, filename)
{
if(filename.match(/\.less$/g)){
var name = filename.substring(0, filename.lastIndexOf('.'));
tasks[name] = {options: {sourceMap:true},files:{} };
tasks[name]['options']['sourceMapFilename'] = 'dist/' + name + '.map.css';
tasks[name]['files']['dist/' + name + '.css'] = abspath;
allTaskArray.push('less:' + name);
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.config('less',tasks);
grunt.registerTask( 'default', allTaskArray );
};
, :
less
βββ less2
β βββ main2.less
βββ main.less
running grunt :
Running "less:main2" (less) task
File dist/main2.map.css created.
File dist/main2.css created: 24 B β 66 B
Running "less:main" (less) task
File dist/main.map.css created.
File dist/main.css created: 24 B β 65 B
, :
grunt.loadNpmTasks('grunt-contrib-watch');
var watch = {
options: {
livereload: true,
},
css: {
files: ['./less/**/*.less'],
tasks: [],
options: {
spawn: false
},
}
};
watch['css']['tasks'] = allTaskArray;
grunt.config('watch',watch);