问题描述:

在之前一直用Koala编译less文件,但本人感觉Koala用起来非常麻烦,好像不能做多个less文件的批量的编译;因为目前项目也没有用到webpack,我的less是通过vs code 里的easy less插件来编译的,然而今天在项目中发现了个比较尴尬的问题,比如我编写了一个公用的base.less文件,里面定义了一些公用的变量、样式,其他.less文件都使用@import引入了base.less文件;接下来问题来了,当我修改了base.less文件后,我其它引入了base.less的文件并不能根据base.less的变化而重新编译一次,导致我只能挨个去手动打开保存一次,它才能重新编译,假如我有100个.less文件引入了base.less,那么我得去打开100个less文件,这样不是我想看到的。那么遇见问题解决问题,网上也查找了很多方法,基本都不靠谱,最后锁定了gulp.js前端自动化构建工具,来实现对多个.less文件的批量实时编译。话不多少,现在开始:

gulp.js简介:

gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulp.js使用的是nodejs中stream来读取和操作数据,其速度更快。如果你还没有使用过前端构建工具,或者觉得grunt.js太难用的话,那就尝试一下gulp吧。

具体实现:

1、全局安装gulp.js (首先确保你已经正确安装了node.js环境)

npm install -g gulp

2、在项目目录下执行以下命令,创建package.json文件:

npm init

3、依次执行下面的命令下载gulp依赖包和gulp-less以及gulp-autoprefixer工具:

npm install gulp  -D

npm install gulp-less  gulp-autoprefixer  -D

4、在项目目录中创建一个gulpfile的js文件,js代码如下

var gulp =require("gulp");
var less =require("gulp-less");
var auto =require("gulp-autoprefixer");//css浏览器兼容前缀 gulp.task('compileLess', done => {
  //找到项目中less文件夹中所有文件夹下的所有less文件
gulp.src("../less/**/*.less")
//进行预编译处理,保持与引入的模块一致
.pipe(less())
.pipe(auto({
grid:true,
browsers:['last 2 version']
}))
//编译后将less编译成的css文件保存到项目目录下的css文件夹中
.pipe(gulp.dest('../css'))
  done();
}); // 通过watch方法实时监测所有less文件,如果发生更改,执行compileLess方法
gulp.task('watch',function(){
  gulp.watch('../less/**/*.less',gulp.series('compileLess'));
})

控制台输入 gulp watch 命令实现监听

gulp.js实现less批量实时编译的更多相关文章

  1. gulp实时编译less,压缩合并requirejs模块文件

    gulp的使用命令简单,就几个,gulp的简单使用教材可以参考一点的gulp使用教材(http://www.ydcss.com/archives/18). 下面就简单的介绍这些命令如何互相配合的完成前 ...

  2. 使用gulp和bable实现实时编译ES6代码

    这篇文章最初发表在我自己折腾的博客站点上:使用gulp和bable实现实时编译ES6代码,该博客用了一位前辈开源的源码,基于thinkjs和vuejs开发,欢迎大家来逛逛. 问题描述> 项目开发 ...

  3. 通过Gulp使用Browsersync实现浏览器实时响应文件更改

    Gulp是什么鬼 Browsersync又是什么鬼 如何安装使用Browsersync 安装 使用 效果图 参考 Gulp是什么鬼 Gulp是一种基于node.js的构建工具,有关构建工具的概念请移步 ...

  4. 前端自动化之sass实时编译及自动刷新浏览器

    gulp livereload实现sass实时编译及浏览器自动刷新 首先gulp是基于Node的,所以确保你已经安装 node.js,在Nodejs官方网站下载跟自己操作系统相对应的安装包. 先说一下 ...

  5. gulp.js基础入门

    安装 Node 去 nodejs.org 根据系统选择性按照教程安装Node. 创建项目 创建项目文件夹 进入项目文件夹 初始化项目 使用npm命令:npm init,根据提示完成. 安装 Gulp ...

  6. Grunt完成对LESS实时编译

    安装 安装grunt需要先安装node.js. 之后需要借助npm来安装grunt-cli,在cmd中npm install -g grunt-cli.(测试grunt --version看是否正确显 ...

  7. Gulp.js - 简单、直观的自动化项目构建工具

    Gulp.js 是一个简单.直观的构建系统.崇尚代码优于配置,使复杂的任务更好管理.通过结合 NodeJS 的数据流的能力,你能够快速构建.通过简单的 API 接口,只需几步就能搭建起自己的自动化项目 ...

  8. gulp.js 的安装以及使用

    首先:电脑需要安装 Node.js 一个大绿色的安装按钮,点击就可以. 但还是推荐,点击download选中一款适合电脑配置的版本. Node安装过程,就是下一步 and 下一步~~ 测试手否安装成功 ...

  9. Idea 实时编译 和 热部署

    实时编译 idea自动保存编写好的文件,但是不会编译,想要编译需要按ctrl+F9(编译整个项目)ctrl+shift+f9(单个文件),不仅麻烦而且和平常习惯也不相复合.怎么令idea的ctrl+s ...

随机推荐

  1. LeetCode117----填充同一层兄弟节点

    给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充它的每个 ...

  2. oracle性能诊断排查

    https://blog.csdn.net/qq_30553235/article/details/78809872 查看oracle用户权限: 1.查看不同用户的连接数 select usernam ...

  3. 按模版导出Excel

    实现效果: excel模版: ExcelHandle.java package com.common.utils; import java.io.File; import java.io.FileIn ...

  4. elk5.0 版本遇到的安装问题

    问题1:max_map_count不够大 max virtual memory areas vm.max_map_count [65536] likely too low, increase to a ...

  5. C++重写实践&与java的差异

    C++重写父类方法后,父类中同名的方法在子类中就无法被调用,回报这个问题: java中是没有这个问题的,显然java设计者在设计的时候有意解决了这个问题. C++实践代码: #include < ...

  6. 禁用linux的密码策略

    注释掉文件  /etc/pam.d/system-auth-ac中的 password requisite pam_passwdqc.so enforce=everyone 这一行 #%PAM-1.0 ...

  7. Array数组对象

    1.数组方法: 1>字符串的连接: var myarr1= new Array("010") var myarr2= new Array("-",&quo ...

  8. vue2创建webpack项目build之后无法正常显示页面的问题

    最近在做vue项目的时候,项目正常运行,但是当我打包上线之后,却出现无法出现页面空白的情况,打开控制台,发现无法加载到css和js文件. 仔细观察发现路径中少了一个dis文件夹,于是我加上dist文件 ...

  9. 【HANA系列】SAP HANA使用XS和HTTP创建proxy

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA使用XS和HTT ...

  10. javase程序设计上机作业2

    package javaxgp.teacher.test; import java.util.Scanner; public class Demo3 { public static void main ...