写个简单的less、watch任务的demo分享————

1.准备:

安装全局node、npm,这个教程很多不作详细介绍;

安装全局gulp

npm install -g gulp

新建getstart文件夹,文件夹中创建package.json,记得加上{},保存

     

2.命令提示符下,到getstart文件夹里,依次安装node模块:

npm install --save-dev gulp
npm install --save-dev gulp-less
npm install --save-dev gulp-watch
npm install --save-dev require-dir

3. 根目录新建gulpfile.js 、 gulp文件夹;

 gulp文件夹里再新建一个tasks文件夹和config.js文件;

  tasks文件夹里创建default.js, less.js, watch.js。

tasks文件里存放对应的任务、config.js配置任务的相关配置

(1)gulpfile.js (gulp入口文件),最基本的写法是把所有任务配置在此文件里,我们这里做一层分离,用require-dir引入gulp/tasks里的任务

var requireDir = require('require-dir');requireDir('./gulp/tasks', { recurse: true});

(2)config配置:

/* gulp命令会由gulpfile.js运行,所以src和build文件夹路径如下(根目录下) */
var src = './src';
var dest = './build';
module.exports = {less: {all: src + "/less/**/*.less",  //所有lesssrc: src + "/less/*.less",     //需要编译的lessdest: dest + "/css",       //输出目录settings: {            //编译less过程需要的配置,可以为空}}
}

(3)编写default,默认任务,这里默认任务添加了less和watch任务:

  

var gulp = require('gulp');gulp.task('default', ['less','watch']);

(4)编写less任务,这里引入了config.js配置文件,pipe()方法会依次执行,如下首先获取less源文件、然后编译、最后输出。

var gulp = require('gulp');
var less = require('gulp-less');
var config = require('../config').less;gulp.task('less', function(){return gulp.src(config.src)         //less源文件.pipe(less(config.settings))    //执行编译.pipe(gulp.dest(config.dest))   //输出目录
});

(5)编写watch任务,

var gulp = require('gulp');
var watch = require('gulp-watch');
var config = require('../config');gulp.task('watch', function(){watch(config.less.all, function(){  //监听所有lessgulp.start('less');             //出现修改、立马执行less任务})
})

4.根目录创建src->less文件夹,新建需要的less文件 如下:

    

根据config配置,会编译less文件夹里的less,如下的main.less:

@import "app/a.less";
@import "app/b.less";

根据config配置,会编译监听less里的所有文件,一旦有变化,便会执行编译。

最终输出到build->css里

    

试试修改a.less,便会自动编译了。

OK,这个demo就做完了,很简单吧!

这是个非常简单的任务,当然我们可以用gulp做很多事情,比如压缩图片、压缩代码、合并、iconFont,配置不同的生产环境需要的任务:deploy、staging、localhost等。

真正用好了,能提升非常大的开发和维护效率。

这个demo只是简单的入门,真正学习gulp,还是要到官网上去学习。

转载于:https://www.cnblogs.com/mingjian/p/5282976.html

gulp编译less简单demo相关推荐

  1. c c 语言编程项目实例,实例分享cmake编译一个简单c++项目(demo)

    实例分享cmake编译一个简单c++项目(demo) 发布时间:2020-09-19 21:08:04 来源:脚本之家 阅读:63 作者:mdxy-dxy 下面通过一个小例子来说明cmake编译一个c ...

  2. gulp编译css_如何用gulp缩小CSS

    gulp编译css by Vinicius Gularte 由Vinicius Gularte 如何用gulp缩小CSS (How to minify your CSS with gulp) In t ...

  3. React入门教程第三课--gulp编译优化

    上节课中我提到了,在gulpfile中编写task编译js和sass的task. 然后在项目中使用时发现,当项目内容越写越多时,编译速度会越来越久. 看了一下编译过程.上次gulpfile中的定义是当 ...

  4. 使用gulp编译 sass和less

    Gulp是一个基于流的自动化构建工具,可以帮我实现很多的功能,比如代码编译.压缩等等. 网址:https://www.gulpjs.com.cn/ 个人对gulp的一个简单理解 以下只是使用gulp编 ...

  5. Linner介绍、安装及简单Demo

    Linner前端项目阐述 本篇文章目录 Linner前端项目阐述 项目结构 项目阐述 组件 图片.CSS.JS文件合并 仓库管理 实时监控文件变化并编译 config.yml文件配置详解 linner ...

  6. IMX8M系列 OpenCL FFT 示例编译及其他demo测试(MYD-JX8MX)

    IMX8M系列 OpenCL FFT 示例编译测试及其他demo测试(MYD-JX8MX) 上一篇文章已经将如何编译镜像,如何用官方的方式FslBuild.py 脚本编译demo.不知道有没有成功的朋 ...

  7. IMX8M系列 yocto编译镜像及demo编译(MYD-JX8MX)

    IMX8M系列 yocto编译镜像及demo编译(MYD-JX8MX) 前段时间由于工作需要,研究了一下米尔的MYD-JX8MX开发板,用的是NXP 的IMX8M型号芯片,说实话,官方提供的文档描述的 ...

  8. EPSON机器人建立TCP/IP通讯的简单demo

    以下为我近期研究EPSON机器人通讯的经验总结,主要实现机械手接收相机发送过来的数据,从而达到对应的位置,及其简单demo. 欢迎加入知识星球[3D视觉工坊],进行交流学习.

  9. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

最新文章

  1. python输入数字字符串_Python笔记—基本数据类型—数字字符串
  2. 艾伟_转载:C# Design Patterns (4) - Proxy
  3. ADO.NET常用对象
  4. android 常用 style,Android中 Styles和Themes
  5. getcwd和pwd为什么不一样_企业职工,公务员为什么缴纳的养老保险不一样呢?
  6. 使用SPEncode.HtmlEncodePreserverSpace保存输入
  7. Only digits (0-9) can be put inside [] in the path string: formData.XXX
  8. Sql Server内置函数实现MD5加密
  9. MongoDB解决“Error parsing YAML config file: yaml-cpp: error at line 2, column value(安装服务)
  10. 初学者都在坑里!不要在Python中使用“+”来连接字符串
  11. (98)FPGA时序裕量
  12. SpringMVC中解决POST和GET请求中文乱码问题
  13. 愿码(ChainDesk.CN):EOS钱包开发 二 EOS开发环境搭建
  14. 给不懂技术的妹子,说清楚单列模式
  15. 编程验证足球预测算法的准确概率
  16. 【独行秀才】macOS Big Sur 11.6.5正式版(20G517)原版镜像
  17. 【Python习题】计算弓形的面积(保姆级图文+实现代码)
  18. Mac下eclipse安装和配置Tomcat
  19. 【论文翻译】异构网络的影响与相似性
  20. java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...

热门文章

  1. 机房合作--那些数据类型
  2. ubuntu 内存占用解析
  3. [转]Web测试中的界面测试用例设计
  4. Spring Boot 2发送邮件手把手图文教程
  5. Redis:MySQL算老几?
  6. TensorFlow全新的数据读取方式:Dataset API入门教程
  7. Java 线程池艺术探索
  8. 网络:TCP协议3次握手4次挥手
  9. JVM:类加载机制之类加载器
  10. android studio安装教程博客园独王,Android Studio安装与配置