摘要:

  前面分享了一些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

Gulp--Less的更多相关文章

  1. 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)

    通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...

  2. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  3. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

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

    前言 文章 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 中,已经完成对 gulp 的安装,由于是window环境,文中特意提到了可以通过安装 gitbash 来代替 ...

  5. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  6. 做一个gulp+webpack+vue的单页应用开发架子

    1.目标 最近项目上的事情不多,根据我自己的开发习惯,决定开发一些简单的开发架子,方便以后事情多的时候直接套用.本文讲的一个gulp+webpack+vue的单页应用架子,想要达到的目的: 可以通过命 ...

  7. 前端自动化构建工具gulp记录

    一.安装 1)安装nodejs 通过nodejs的npm安装gulp,插件也可以通过npm安装.windows系统是个.msi工具,只要一直下一步即可,软件会自动在写入环境变量中,这样就能在cmd命令 ...

  8. gulp初学

    原文地址:gulp初学 至于gulp与grunt的区别,用过的人都略知一二,总的来说就是2点: 1.gulp的gulpfile.js  配置简单而且更容易阅读和维护.之所以如此,是因为它们的工作方式不 ...

  9. gulp批量打包文件并提取公共文件

    gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器. browseriyf是模块化打包工具. 一般情况下,Browserify 会把所有的模块打包成单个文件.单个文件在大多数情况下是 ...

  10. 使用gulp解决RequireJS项目前端缓存问题(二)

    1.前言 这一节,我们主要解决在上一节<使用gulp解决RequireJSs项目前端缓存问题(一)>末尾提到的几个问题: 对通过require-config.js引入的js文件修改后,没有 ...

随机推荐

  1. Free-form语言

    在计算机编程领域,程序指令文本中的字符在『纸面』上所处的位置无关紧要 - 不像老式的穿孔卡片系统(punched card system)程序指令文本需要放置在指定列,这种编程语言就可算是自由形式语言 ...

  2. SpringMVC @SessionAttributes 使用详解以及源码分析

    @sessionattributes @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Docum ...

  3. USB入门

    简述 USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2 ...

  4. 软件开发常用的linux命令心得

    软件开发过程中难免要经常对主机进行配置或者部署等操作,想到一些就写一些了,以后再更新 解压命令: a.如果是tar文件,则直接用 “tar zxvf 文件名”: b.如果是zip文件,用 “unzip ...

  5. 使用JAAS登录kerberos服务器

    java代码: package com.snsprj.jaas0822; import javax.security.auth.*; import javax.security.auth.callba ...

  6. ssh 断开解决办法

    SSH连接总是隔一段时间没有输入时就断开,解决办法如下: 服务端配置sudo vi /etc/ssh/sshd_configClientAliveInterval 60     #服务端主动向客户端请 ...

  7. php curl批处理--可控并发异步

    通常情况下 PHP 中的 cURL 是阻塞运行的,就是说创建一个 cURL 请求以后必须等它执行成功或者超时才会执行下一个请求:API接口访问一般会首选CURL 在实际项目或者自己编写小工具(比如新闻 ...

  8. APICloud 实践 —— 手机端预览项目

    上一次讲到如何创建一个应用,今天讲下如何在手机端预览项目. 1.下载 AppLoader 下载地址:https://docs.apicloud.com/Download/download#apploa ...

  9. 动态规划--最长上升子序列(Longest increasing subsequence)

    前面写了最长公共子序列的问题.然后再加上自身对动态规划的理解,真到简单的DP问题很快就解决了.其实只要理解了动态规划的本质,那么再有针对性的去做这方的题目,思路很快就会有了.不错不错~加油 题目描述: ...

  10. label文字居中

    height: height,//"20px"                "line-height": height, autosize:true, &qu ...