gulp4.0 搭建less编译环境

一,缘起

前端发展到今天,ui组件库比比皆是,但为了提高下自个人业务及基础能力,仍是决定造个ui框架轮子,顺带把工做的经常使用的一些整合下,那也是一种沉淀与分享。
而后针对 ui 组件的写法,选择less,而后采用gulp来编译及输出,也许你们会疑惑,为何不用webpack,为了与单位项目进行无缝切合吧,忘记说了,咱们如今的项目是卫星项目(很高端的),为了调试方便,采用了seaJS来进行模块化的。这个H5项目没有采用线下流行的webpack。css

二,开始

一、支持nodeJS环境html

npm init

生成package.json。
备注:由于我这仅仅是开发环境的,因此安装包的时候,都采用了 --save-dev 。前端

二、安装 gulpnode

npm install --save-dev gulp

三、安装gulp-lesswebpack

npm install --save-dev gulp-less
在gulpfile.js中写入
var gulp = require('gulp'); var less = require('gulp-less'); gulp.task('less', function(){
    gulp.src('less/*.less')
    .pipe(less())  
    .pipe(gulp.dest('dist/css'))
     });

执行结果以下
图片描述
仔细看竟然有报错,百度了下,是gulp4.0 带来的。
从新改写代码:web

var gulp = require('gulp'); var less = require('gulp-less');
gulp.task('less', function(done){npm

gulp.src('less/*.less')
.pipe(less())  
.pipe(gulp.dest('dist/css'))
done() });

妥妥的好了。json

四、安装gulp-concatgulp

npm install --save-dev gulp-concat

在gulpfile.js中写入框架

var gulp = require('gulp'); var less = require('gulp-less');
 gulp.task('less', function(done){
     gulp.src('less/*.less')
      .pipe(concat('style.css')) 
     .pipe(less())  
     .pipe(gulp.dest('dist/css'))
     done(); });

五、安装gulp-minify-css

npm install --save-dev gulp-minify-css

在gulpfile.js 中写入

gulp.task('less',function(done){

gulp.src('less/*.less')
.pipe(concat('style.css'))
.pipe(minifyCss())
.pipe(gulp.dest('dist/css'));
done(); });

六、安装gulp-rename

npm install --save-dev gulp-rename

在gulpfile.js 中写入

gulp.task('less',function(done){

gulp.src('less/*.less')
.pipe(concat('style.css'))
.pipe(minifyCss())
.pipe(rename('style.min.css'))
.pipe(gulp.dest('dist/css'));
done(); });

七、安装 gulp-liverelaod 自动刷新

npm install --save-dev gulp-livereload

在 gulpfile.js 中写入

gulp.task('watch', function(){

livereload.listen();
gulp.watch('less/*.less', gulp.series('less'));  });

八、提取 输入,输出文件夹

npm install --save-dev path

在 gulpfile.js 中写入

var path = require('path'); var basePath = path.resolve(__dirname,
'');//-项目路径 var src = basePath + '/less/*.less',

output = basePath + '/dist/css';

九、安装 gulp-clean 清空文件夹

npm install --save-dev gulp-clean

在 gulpfile.js 中写入

gulp.task('clean', function(done){

return gulp.src(output, {read: false})
.pipe(clean({force: true}));    });

十、合并各个任务

在 gulpfile.js 中写入

gulp.task('dev', gulp.series('clean', 'less', 'watch', function (done)
{

done(); }));

3、总结

一个基于gulp的less编译环境已经完成了,经过watch能够监听到less中变化,并实时进行编译、合并、压缩。后期已经将 js以及html的一些也加进去,应该分dev版本与pro版本。

相关文章
相关标签/搜索