(二)用less+gulp+requireJs 搭建项目(gulp)

 gulp是自动化构建工具,基于node,需要安装node,如果你不了解node也没关系,先跟着来一遍再去了解node也不迟~

首先去node官网下载安装包

1.新建项目文件夹 在目录下shift+右键打开命令行工具;下图表示node已经装好

2.现在想要做这样一个功能

如上图:

button.less中的颜色依赖于color.less

 需要实现:

将两个less文件合并,而且生成css文件到css文件夹中:

新建文件index.less,合并两个less文件

这时候就要用到gulp

3.安装gulp

npm install --save-dev gulp

安装完成后根目录下会多出一个文件夹--node_modules  里面是node安装的模块,然后查看gulp 的版本号 说明安装成功

另外,还需要安装一些其他的包

npm install --save-dev gulp-less//解析less

npm install --save-dev gulp-autoprefixer//兼容浏览器

npm install --save-dev gulp-minify-css//压缩css

npm install --save-dev gulp-rename//文件+后缀

 3.接下来需要一个配置文件gulpfile.js,这个是必须要的,目的就是 告诉后台用什么解析less文件,生成的css放在哪里

 gulpfile.js:

var gulp = require('gulp'),
    less = require('gulp-less'),
    prefix = require('gulp-autoprefixer'),
    minifyCss = require('gulp-minify-css'),
    rename = require('gulp-rename');

gulp.task('Less', function (done) {
    gulp.src('less/index.less')//需要编译的less文件路径
        .pipe(less())//编译
        .pipe(prefix(['last 4 versions'], { cascade: true }))
        .pipe(minifyCss({
            keepSpecialComments: 0,//保留所有特殊前缀
            compatibility:'ie7'//保留ie7及以下兼容写法
        }))
        .pipe(rename({ extname: '.min.css' }))//后缀
        .pipe(gulp.dest('css/index.css'))//生成目录
        .on('end', done);//结束
});

这个文件的作用是,创建一个“Less”任务,将index下的index.less文件解析 ,压缩 生成到 css下

4.接下来需要输入执行”Less”任务

gulp Less

上图表示编译成功,此时css下已经生成css文件,并且已经压缩

如下图:

 5.接下来 还没完  因为这么写 你每次修改less文件都要执行一次“Less”任务才能完成编译

我们需要自动监听less文件,只要文件被修改就执行‘Less’任务,gulp有的watch()函数可以完成这种需求

在配置文件下添加如下代码:

gulp.task('watch', function () {
    gulp.watch('less/*.less', ['Less']); //当有less文件发生改变时,调用Less任务
});

这样我们只要执行“watch”任务就可以一直监听less文件了

gulp watch

这样当你修改less文件时,gulp会为你自动编译!!!

快去试试吧~~~

原文地址:https://www.cnblogs.com/yaokunlun/p/6433821.html