(二)用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:// ...
随机推荐
- NEON中的vshr vshl vext中的位移参数必须为编译时字面常量
NEON中的vshr指令中位移数量参数必须为compile time literal constant,因为该参数是被encoded as part pf ARM instruction itself ...
- C:简单实现BaseCode64编码
What is Base64? 前言 目前来看遇到过Base 16.Base 32.Base 64的编解码,这种编码格式是二进制和文本编码转化,是对称并且可逆的转化.Base 64总共有64个ASCI ...
- [hdu4801]搜索
http://acm.hdu.edu.cn/showproblem.php?pid=4801 状态和生成状态的过程处理好了,这个题就是简单的搜索题了== #include <iostream&g ...
- 可能会导致.NET内存泄露的8种行为
原文连接:https://michaelscodingspot.com/ways-to-cause-memory-leaks-in-dotnet/作者 Michael Shpilt.授权翻译,转载请保 ...
- js日期格式与时间戳相互转换
本文转自:https://blog.csdn.net/Lc_style/article/details/80626748 1.将日期格式转化为时间戳: var date = new Date('201 ...
- java-> 利用IO操作与递归实现目录的复制
public class CopyDir { public static void main(String[] args) { copyDir(new File("d:\\a"), ...
- 关于键盘事件-查询:有多个input框,任意一个支持enter键查询
应用场景:同一个界面有多个input框支持任意一个Enter查询. 实现:在input框中添加onkeypress="函数名()". 函数里面编写对应键盘code值,在里面直接调用 ...
- 【Linux】Xshell 配置密钥登陆
设置不需要密码登陆 vim /etc/ssh/sshd_config 在配置文件中参数的意义 PubkeyAuthentication yes #启用公告密钥配对认证方式 AuthorizedKeys ...
- 实验十四 Swing图形界面组件
实验十四 Swing图形界面组件 实验时间 20178-11-29 1.实验目的与要求 (1) 掌握GUI布局管理器用法: (2) 掌握各类Java Swing组件用途及常用API: 2.实验内容和 ...
- Spring全家桶一一SpringBoot与Mybatis
Spring全家桶系列一一SpringBoot与Mybatis结合 本文授权"Java知音"独家发布. Mybatis 是一个持久层ORM框架,负责Java与数据库数据交互,也可以 ...