核心提示: 第五章gulp常用插件之gulp-less,功能说明:将less文件编译成css,当有less文件发生改变自动编译less,并保证less语法错误或出现异常时能正常工作并提示错误信息。1、本地安装g...
第五章gulp常用插件之gulp-less,功能说明:将less文件编译成css,当有less文件发生改变自动编译less,并保证less语法错误或出现异常时能正常工作并提示错误信息。
1、本地安装gulp-less
$>cnpm install gulp-less --save-dev
2、配置gulpfile.js
var gulp = require('gulp'), less = require('gulp-less'); gulp.task('testLess', function () { gulp.src('src/less/index.less') .pipe(less()) .pipe(gulp.dest('src/css')); });
编译多个less文件
var gulp = require('gulp'), less = require('gulp-less'); gulp.task('testLess', function () { gulp.src(['src/less/index.less','src/less/detail.less']) //多个文件以数组形式传入 .pipe(less()) .pipe(gulp.dest('src/css')); //将会在src/css下生成index.css以及detail.css });
匹配符“!”,“”,“*”,“{}”
var gulp = require('gulp'), less = require('gulp-less'); gulp.task('testLess', function () { //编译src目录下的所有less文件 //除了reset.less和test.less(**匹配src/less的0个或多个子文件夹) gulp.src(['src/less/*.less', '!src/less/**/{reset,test}.less']) .pipe(less()) .pipe(gulp.dest('src/css')); });
当less有各种引入关系时,编译后不容易找到对应less文件,所以需要生成sourcemap文件,方便修改
var gulp = require('gulp'), less = require('gulp-less'), sourcemaps = require('gulp-sourcemaps'); gulp.task('testLess', function () { gulp.src('src/less/**/*.less') .pipe(sourcemaps.init()) .pipe(less()) .pipe(sourcemaps.write()) .pipe(gulp.dest('src/css')); });
如果每次修改less文件都需要进行重新编译,显然不符合开发习惯,通过监听less文件,可以进行自动编译
gulp.task('testWatch', function () { gulp.watch('src/**/*.less', ['testLess']); //当所有less文件发生改变时,调用testLess任务 });