摘要:
前面分享了一些less的是用方法,包括在grunt中,今天在分享下使用gulp来编译less文件。首先需要安装gulp,如何安装请看文章。
安装插件:
gulp编译less使用了gulp-less模块,所以package.json如下:
{
"name": "gulp-less",
"version": "1.0.0",
"private": true,
"description": "gulp-less",
"main": "gulpfile.js",
"dependencies": {},
"devDependencies": {
"gulp": "~3.5.6",
"gulp-less": "1.3.6",
"gulp-minify-css": "~0.3.0",
"gulp-concat": "~2.4.0",
"gulp-rename": "~1.2.0"
},
"keywords": ["gulp","gulp-less","less"],
"author": "",
"license": "ISC"
}
安装完之后新建gulpfile.js,文件结构:
gulpfile.js
public
|-->less
gulpfile.js:
var gulp = require('gulp'),
less = require('gulp-less'),
concat = require('gulp-concat'),
rename = require('gulp-rename'),
minifycss = require('gulp-minify-css'); gulp.task('build-less', function(){
gulp.src('./public/less/*.less')
.pipe(less({ compress: true }))
.on('error', function(e){console.log(e);} )
.pipe(gulp.dest('./public/css/')); }); // 合并、压缩、重命名css
gulp.task('min-styles',['build-less'], function() {
gulp.src(['./public/css/*.css'])
.pipe(concat('all.css')) // 合并文件为all.css
.pipe(gulp.dest('./public/css/')) // 输出all.css文件
.pipe(rename({ suffix: '.min' })) // 重命名all.css为 all.min.css
.pipe(minifycss()) // 压缩css文件
.pipe(gulp.dest('./public/css/')); // 输出all.min.css
}); gulp.task('develop', function() {
gulp.watch('./public/less/*.less', ['build-less', 'min-styles']);
});
在当前目录,通过命令窗执行
gulp build-less:你会在public/css/目录下发现less目录下的less文件被编译成对应的css文件。
gulp min-styles:会在css目录下输出all.css和all.min.css文件。
gulp develop:会监听所有less文件,当有less文件改变时,会执行build-less和min-styles