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: ,//保留所有特殊前缀
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会为你自动编译!!!

快去试试吧~~~

(二)用less+gulp+requireJs 搭建项目(gulp)的更多相关文章

  1. (一)用less+gulp+requireJs 搭建项目(了解less)

    项目完结 做个总结: 公司网站重构,整站都需要重写,终于有机会接触下 less,gulp和requireJs,因为以前的工作就是写几个活动页,并没有机会用这些工具,废话不多说,先看下完成后的项目目录: ...

  2. (三)用less+gulp+requireJs 搭建项目(requireJs)

    首先我想说下我在写js时经常遇到的问题,尤其是很大的项目: 1.我一般会把各个功能分块写在各个js文件中: 比如弹出框: dialog.js $(document).ready(function(){ ...

  3. 前端-如何用gulp快速搭建项目(sass预编译,代码压缩,css前缀,浏览器自动刷新,雪碧图合成)

    一:gulp优点: 易于使用 通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理: 插件高质 Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作. 构建快速 利用 Node ...

  4. gulp环境搭建,gulp入门教程

    gulp常用地址: gulp官方网址:http://gulpjs.com gulp插件地址:http://gulpjs.com/plugins gulp 官方API:https://github.co ...

  5. Vue 爬坑之路(十二)—— vue-cli 3.x 搭建项目

    Vue Cli 3 官方文档:https://cli.vuejs.org/zh/guide/ 一.安装 @vue/cli 更新到 3.x 之后,vue-cli 的包名从 vue-cli 改成了 @vu ...

  6. Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目

    vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli vue ...

  7. vue-cli webpack 快速搭建项目

    一.安装vue npm install vue -g 二.用vue-cli快速搭建项目 //全局安装vue-cli npm install install -g vue-cli //创建一个基于web ...

  8. 新建一个angularjs+requirejs+bootstrap+typescript+gulp+vscode+git的项目

    环境 windows 10 准备工具 Visual Studio Code Node.js Git 需求 必须支持IE8 步骤开始: 执行命令行工具 mkdir Demo && cd ...

  9. gulp自动化部署:gulp发布express项目(二)

    原文:https://my.oschina.net/songzhu/blog/610337 一.服务器准备 服务器ip地址为:172.16.70.174 1.安装 Node.js 参考:http:// ...

随机推荐

  1. Directory类和DirectoryInfo类

    1.Directory类 Directory类公开了用于创建.移动.枚举.删除目录和子目录的静态方法 2.DirectoryInfo类 DirectoryInfo和Directory类的区别可以参看F ...

  2. JDBC07 事务

    事务 事务基本概念 一组要么同时执行成功,要么同时执行失败的SQL语句,是数据库操作的一个执行单元(比如:银行中,对账户的操作和日志的记录是一组事务) 事务开始于: -连接到数据库上,并执行一条DML ...

  3. 设计模式之GOF23享元模式

    享元模式FlyWeight 场景:如果有很多个完全相同或者相似的对象,可以节省内存资源 核心: 享元模式以共享的方式高效地支持大量细粒对象的重用 享元对象做到共享的关键是区分了内部状态和外部状态: 内 ...

  4. 安卓APP承载网页(WebView)

    安卓APP自身如何打开网页,如何制作一个简单的浏览器,WebView在其中将是一个重要的角色.WebView是一个基于WebKit引擎.展现Web页面的控件. Webview 是一个基于webkit引 ...

  5. TP5整合的导出Excel中没有图片和包含图片两种方法

    之前做了个项目需要导出Excel文件 ,我在网上查了许多资料,最后终于搞定了 ,现在把代码贴到下面 先导入库文件:将文件phpoffice放在根目录的vendor下.获取文件点击:链接:https:/ ...

  6. javaweb学习之路(1)request

    1.本次练习写一个简单的注册页面 准备工作:首先搭建好服务器tomcat环境,使用的编译软件是eclipse 2.在eclipse中创建一个web工程 3.在webContent文件夹下创建一个reg ...

  7. 手写一个简易的多周期 MIPS CPU

    一点前言 多周期 CPU 相比单周期 CPU 以及流水线 CPU 实现来说其实写起来要麻烦那么一些,但是相对于流水线 CPU 和单周期 CPU 而言,多周期 CPU 除了能提升主频之外似乎并没有什么卵 ...

  8. ORACLE 统计文件后缀SQL

    ORACLE 统计文件后缀SQL查询语句 select lower(substr(file_name,instr(file_name, '.', -1),length(file_name))),cou ...

  9. 微信小程序-视频弹幕的项目

    1.视频播放器 2.选择弹幕颜色 3.弹幕来了... 一般微信小程序需要配置.wxml.wxss.js.json文件,所有接下来也是要配置这几个文件,请看下图: 第一:  index.wxml < ...

  10. Aangular 父子间组件传递

    1.父子间组件传递------重点&难点 Vue.js和Angular中的父子间消息传递原理一样,都可以用口诀: “Props Down,Events Up” 方向1:父 =>子 父组件 ...