Grunt: LESS to CSS
LESS stands for Leaner Style Sheets and is a backwards-compatible language extension for CSS.
Compiling LESS files to CSS can be achieved through the grunt-contrib-less plugin.
Navigate to the root directory of your project and run the command
npm install grunt-contrib-less --save-dev
The package.json file's devDependencies field will now have a new listing called grunt-contrib-less
"devDependencies": {
"grunt": "~1.0.1",
"grunt-contrib-less": "^1.4.0"
}
Below is the set up of the Gruntfile.js file to compile the LESS file sample.less inside the src/less directory and output a CSS file sample.css into the dist/css directory
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
dev: {
options: {
compress: true
},
files: {
"dist/css/sample.css": "src/less/sample.less" // destination: source
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
}
For a complete list of available options, follow the link here. In the last statement, the plugin name grunt-contrib-less is passed as an argument to the grunt.loadNpmTasks() method and called.
Compilation of sample.less can now be achieved by running the command
grunt less
For example, compiling the below LESS code
@headerColor: #16a085;
h1, h2, h3, h4, h5, h6 {
color: @headerColor;
}
yields the CSS
h1,h2,h3,h4,h5,h6 {color:#16a085}