(二)用less+gulp+requireJs 搭建项目(gulp)
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)的更多相关文章
- (一)用less+gulp+requireJs 搭建项目(了解less)
项目完结 做个总结: 公司网站重构,整站都需要重写,终于有机会接触下 less,gulp和requireJs,因为以前的工作就是写几个活动页,并没有机会用这些工具,废话不多说,先看下完成后的项目目录: ...
- (三)用less+gulp+requireJs 搭建项目(requireJs)
首先我想说下我在写js时经常遇到的问题,尤其是很大的项目: 1.我一般会把各个功能分块写在各个js文件中: 比如弹出框: dialog.js $(document).ready(function(){ ...
- 前端-如何用gulp快速搭建项目(sass预编译,代码压缩,css前缀,浏览器自动刷新,雪碧图合成)
一:gulp优点: 易于使用 通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理: 插件高质 Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作. 构建快速 利用 Node ...
- gulp环境搭建,gulp入门教程
gulp常用地址: gulp官方网址:http://gulpjs.com gulp插件地址:http://gulpjs.com/plugins gulp 官方API:https://github.co ...
- Vue 爬坑之路(十二)—— vue-cli 3.x 搭建项目
Vue Cli 3 官方文档:https://cli.vuejs.org/zh/guide/ 一.安装 @vue/cli 更新到 3.x 之后,vue-cli 的包名从 vue-cli 改成了 @vu ...
- Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目
vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli vue ...
- vue-cli webpack 快速搭建项目
一.安装vue npm install vue -g 二.用vue-cli快速搭建项目 //全局安装vue-cli npm install install -g vue-cli //创建一个基于web ...
- 新建一个angularjs+requirejs+bootstrap+typescript+gulp+vscode+git的项目
环境 windows 10 准备工具 Visual Studio Code Node.js Git 需求 必须支持IE8 步骤开始: 执行命令行工具 mkdir Demo && cd ...
- gulp自动化部署:gulp发布express项目(二)
原文:https://my.oschina.net/songzhu/blog/610337 一.服务器准备 服务器ip地址为:172.16.70.174 1.安装 Node.js 参考:http:// ...
随机推荐
- Synchronized加锁、锁升级和java对象内存结构
首先了解一下JMM中定义的内存操作: 一个线程操作数据时候都是从主内存(堆内存)读取到自己工作内存(线程私有的数据区域)中再进行操作.对于硬件内存来说,并没有工作内存和主内存的区分,这都是java内存 ...
- 基于SSM的健身房管理系统
基于SSM的健身房管理系统 The project was made in 2020-05-05~2020-05-10 谨以此片博文记录下我的第一个Java小Demo 项目展示 用户登录页 用户注册页 ...
- 【Kafka】JavaAPI操作
目录 先创建Maven工程导入jar包 Producer API Consumer API Stream API 先创建Maven工程导入jar包 帮助文档地址:http://kafka.apache ...
- android实现计时器
新建布局文件activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearL ...
- uCOS2014.1.9
卢友亮P69 ptcb->OSTCBStat |= OS_STAT_SUSPEND; /*标志任务被挂起*/ 这句是标志人物被挂起成阻塞态的关键. OSTCBStat //任务的当前状态标志 ...
- .netcore 部署时遇到413 Request Entity Too Large 和 413Payload Too Large 的问题
.netcore3.1 遇到一个webapi 上传大文件问题 首先,在kestrel模式调试模式下上传 会报错413, 需要在三个地方添加 1.startup中 这里设置的2g最大值 2.在progr ...
- 设计模式之GOF23观察者模式
观察者模式Observer 广播机制 场景:多个观察者--被通知改变 CS的时候,人物移动坐标变化,更新每个人地图上的坐标 核心:当目标对象(Subject)的状态值改变时,需要及时告知所有观察者(O ...
- [hdu5534]DP
题目原意:给一棵n个点的树添加边,给定度函数f(d)为一个点的度的函数,求所有点的度函数的和 思路: 函数只与点的度有关,而与点无关,n个点的树有n-1条边,共产生2(n-1)个度,每个点至少有1个度 ...
- JAVA实现拼手气红包算法
实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...
- 分布式项目配置工程,在项目间互通要先在linux下开启zookeeper
一.编写配置文件 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http: ...