gulp&gulp-less

使用gulp-less插件将less文件编译成css,当有less文件发生改变自动编译less,并保证less语法错误或出现异常时能正常工作并提示错误信息。

1、本地安装gulp-less

github:https://github.com/plus3network/gulp-less

安装:命令提示符执行 cnpm install gulp-less --save-dev

没有安装cnpm请使用 npm install gulp-less --save-dev 什么是cnpm,如何安装?

--save-dev 保存配置信息至 package.json 的 devDependencies 节点。为什么要保存至package.json?

2、配置gulpfile.js

2.1、基本使用

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‘));
});

2.2、编译多个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
});

2.3、匹配符“!”,“*”,“**”,“{}”

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‘));
});

2.4、调用多模块(编译less后压缩css)

var gulp = require(‘gulp‘),
    less = require(‘gulp-less‘),
     //确保本地已安装gulp-minify-css [cnpm install gulp-minify-css --save-dev]
    cssmin = require(‘gulp-minify-css‘);

gulp.task(‘testLess‘, function () {
    gulp.src(‘src/less/index.less‘)
        .pipe(less())
        .pipe(cssmin()) //兼容IE7及以下需设置compatibility属性 .pipe(cssmin({compatibility: ‘ie7‘}))
        .pipe(gulp.dest(‘src/css‘));
});

3、执行任务

3.1、命令提示符执行:gulp testLess

4、监听事件(自动编译less)

4.1、若每修改一次less,就要手动执行任务,显然是不合理的,所以当有less文件发生改变时使其自动编译

var gulp = require(‘gulp‘),
    less = require(‘gulp-less‘);

gulp.task(‘testLess‘, function () {
    gulp.src([‘src/less/*.less‘,‘!src/less/extend/{reset,test}.less‘])
        .pipe(less())
        .pipe(gulp.dest(‘src/css‘));
});

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

4.2、启动监听事件:命令提示符执行 gulp testWatch

4.3、注意:该命令提示符执行需处于打开状态,关闭后监听事件结束

5、异常处理

5.1、当编译less时出现语法错误或者其他异常,会终止watch事件,通常需要查看命令提示符窗口才能知道,这并不是我们所希望的,所以我们需要处理出现异常并不终止watch事件(gulp-plumber),并提示我们出现了错误(gulp-notify)。

var gulp = require(‘gulp‘),
    less = require(‘gulp-less‘);
    //当发生异常时提示错误 确保本地安装gulp-notify和gulp-plumber
    notify = require(‘gulp-notify‘),
    plumber = require(‘gulp-plumber‘);

gulp.task(‘testLess‘, function () {
    gulp.src(‘src/less/*.less‘)
        .pipe(plumber({errorHandler: notify.onError(‘Error: <%= error.message %>‘)}))
        .pipe(less())
        .pipe(gulp.dest(‘src/css‘));
});
gulp.task(‘testWatch‘, function () {
    gulp.watch(‘src/**/*.less‘, [‘testLess‘]);
});

6、完.

时间: 2024-10-10 21:49:54

gulp&gulp-less的相关文章

gulp

了解 首先我们了解一下什么是gulp, gulp是前端自动化构建工具,在开发过程中很多重复的任务,我们都可以正确的使用gulp来完成,gulp基于nodejs,

关于grunt和gulp

grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 "自动化.对于需要反复重复的任务,例如压缩(minification).编译.单元测试.linting等,自动化工具可以减轻你的劳动,简化你的工作.当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作." Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作

gulp安装说明

1.安装node-v6.3.0-x64,安装成功后再点击node-v6.3.0-x64卸载(点击remove). 2.安装node-v4.4.7-x64. 3.打开cmd命令行,输入node -v,查看下版本,如果有显示版本,说明已经安装成功. 4.输入npm -v,查看下npm的版本,如果有显示版本,说明已经安装成功. 5.输入npm install -g gulp命令,安装全局的gulp. 6.安装好后输入gulp -v查看版本,如果有显示版本,说明已经安装成功. 7.在C盘新建个项目,在项

gulp不完全入门教程

引言 gulp 是基于 Nodejs 的自动任务运行器,能自动化地完成javascript/coffee/sass/less/html/image/css等文件的的测试.检查.合并.压缩.格式化.浏览器自动刷新.部署文件生成,并监听文件在改动后重复指定的这些步骤.在实现上,gulp 借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单. 一.安装Gulp gulp 是基于 Nodejs 的自动任务运行器,所以安装gulp之前要先安装node.js

nodejs、gulp调试工具node-inspector使用

俗话说欲善其功,必先利其器. 作为目前新型的Web Server开发栈倍受开发者关注的Nodejs来说,调试技术是学习开发的基石,所以对于开始学习Nodejs童鞋来说,Nodejs的调试工具使用是必不可少的,总的来说Nodejs的调试方法主要分类三类: 1.基于Nodejs内建的调试器 2.基于V8调试插件 3.基于Chrome浏览器的调试器. 至于使用哪一个作为Nodejs的调试工具,就要看你的选择了,作为一个用惯了chrome调试前端工程的前端开发人员来说,我还是倾向于基于Chrome浏览器

Gulp的安装

Gulp 是前端自动化开发工具,我们可以用它提高开发效率. 它有以下用途: 压缩js.压缩css.压缩less.压缩图片等功能 首先我们开始安装Gulp Gulp是基于node来实现的,所以应该先安装node环境,具体请百度一下 安装好node环境之后 命令行中,输入npm install gulp –g(-g代表全局). 输入gulp -v,如果出现类似以下内容证明安装成功 虽然已经在全局安装了Gulp,但是每个项目中个还需要安装一下Gulp,为了防止版本冲突 在项目中安装的命令是 npm i

gulp使用笔记

gulp简介 gulp 是基于 Nodejs 的自动任务运行器,能自动化地完成javascript/coffee/sass/less/html/image/css等文件的的测试.检查.合并.压缩.格式化.浏览器自动刷新.部署文件生成,并监听文件在改动后重复指定的这些步骤.在实现上, gulp 借鉴了Unix操作系统的管道(pipe)思想,就是前一级的输出,直接变成后一级的输入,使其在操作上非常简单. 安装 gulp是基于node的自动任务运行器,所以需要事先安装好node. 1.全局安装gulp

Gulp开发教程

Building With Gulp =================== 原文地址 翻译出处 对网站资源进行优化,并使用不同浏览器测试并不是网站设计过程中最有意思的部分,但是这个过程中的很多重复的任务能够使用正确的工具自动完成,从而使效率大大提高,这是让很多开发者觉得有趣的地方. Gulp是一个构建系统,它能通过自动执行常见任务,比如编译预处理CSS,压缩JavaScript和刷新浏览器,来改进网站开发的过程.通过本文,我们将知道如何使用Gulp来改变开发流程,从而使开发更加快速高效. Wh

Gulp安装及配合组件构建前端开发一体化

所有功能前提需要安装nodejs(本人安装版本v0.10.26)和ruby(本人安装版本1.9.3p484). Gulp 是一款基于任务的设计模式的自动化工具,通过插件的配合解决全套前端解决方案,如静态页面压缩.图片压缩.JS合并.SASS同步编译并压缩CSS.服务器控制客户端同步刷新. Gulp安装 全局安装Gulpjs npm install -g gulp  #全局安装 局部安装Gulpjs npm install gulp --save-dev # 局部安装 全局安装 1. 将安装包放在

执行 $ Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二)

前言 文章 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 中,已经完成对 gulp 的安装,由于是window环境,文中特意提到了可以通过安装 gitbash 来代替 window 系统的 CMD 命令行工具.本节主要围绕 如何使用 Gulp 完成一个预编译 SASS 文件的任务 来逐步熟悉 Gulp . 本文地址:http://www.cnblogs.com/leonkao/p/4611102.html Gulp 概述 Gulp 是一个构建工具,通过自动化处理