所在的位置: js >> js优势 >> less和gulp分别是什么

less和gulp分别是什么

白癜风吃什么药最好 https://m-mip.39.net/nk/mipso_5661850.html

主要内容

lessgulp学习目标

第一节less上

1.less介绍

是css的预处理语言。除了less,还有scss(sass)、stylus这些预处理语言。

特点:LESS将CSS赋予了动态语言的特性,如变量,继承,运算,函数.LESS既可以在客户端上运行(支持IE6+,Webkit,Firefox),也可以借助Node.js或者Rhino在服务端运行。

2.less编译:

1.安装less命令行工具:

使用命令行工具编译less文件

2.卡拉工具

安装考拉工具把less文件所在文件夹拖拽到考拉工具中点击编译,然后最小化即可3.其他编译打包工具

Gulp、webpack

本节作业:

会使用命令行工具编译less文件会使用考拉编译less文件第二节less语法

1.变量

Less中的变量十分强大,可化万物,值得一提的是,其变量是常量,所以只能定义一次,不能重复使用。

值变量

开头定义变量,并且使用时直接键入

名称。

在平时工作中,我们就可以把常用的变量封装到一个文件中,这样利于代码组织维护。

选择器变量

让选择器变成动态

属性变量

可减少代码书写量

url变量

项目结构改变时,修改其变量即可。

声明变量

有点类似于下面的混合方法

变量运算

不得不提的是,Less的变量运算完全超出我的期望,十分强大。

-加减法时以第一个数据的单位为基准

-乘除法时注意单位一定要统一

变量作用域

一句话理解就是:就近原则,不要跟我提闭包。

用变量去定义变量

2.嵌套

的妙用

:代表的上一层选择器的名字,此例便是header。

媒体查询

在以往的工作中,我们使用媒体查询,都要把一个元素分开写

Less提供了一个十分便捷的方式

唯一的缺点就是每一个元素都会编译出自己

media声明,并不会合并。

3.混合

不带参数的混合

方法犹如声明的集合,使用时直接键入名称即可。

默认参数方法

Less可以使用默认参数,如果没有传参数,那么将使用默认参数。

arguments犹如JS中的arguments指代的是全部参数。

传的参数中必须带着单位。

方法的匹配模式:

-第一个参数`left`要会找到方法中匹配程度最高的,如果匹配程度相同,将全部选择,并存在着样式覆盖替换。

-如果匹配的参数是变量,则将会匹配,如`

_`。

方法的命名空间

要点:

-在CSS中``选择器,选择的是儿子元素,就是必须与父元素有直接血源的元素。

-在引入命令空间时,如使用``选择器,父元素不能加括号。

-不得单独使用命名空间的方法必须先引入命名空间,才能使用其中方法。

-子方法可以使用上一层传进来的方法

方法的条件筛选

Less没有ifelse,可是它有when

要点:

-比较运算有:===。

-=代表的是等于

-除去关键字true以外的值都被视为false

数量不定的参数

如果你希望你的方法接受数量不定的参数,你可以使用...,犹如ES6的扩展运算符。

方法使用!important

使用方法非常简单,在方法名后加上关键字即可

循环方法

Less并没有提供for循环功能,但这也难不倒聪明的程序员,使用递归去实现

4.继承

extend是Less的一个伪类。它可继承所匹配声明中的全部样式

extend关键字的使用

all全局搜索替换

使用选择器匹配到的全部声明

5.导入

使用

import可以导入less文件

位置可随意放置,可省略后缀

6.函数

判断类型

isnumber

Iscolor:判断给定的值是否是一个颜色。

Isurl:判断给定的值是否是一个url

颜色操作

数学函数

扩展:

常用的三门语言:Sass、Less、Stylus

本节作业:

掌握less语法练习课堂代码第三节gulp上

1.gulp介绍

Gulp.js是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。Gulp.js是基于Node.js构建的,利用Node.js流的威力,你可以快速构建项目

2.安装使用

如果你先前将gulp安装到全局环境中了,请执行npmrm--globalgulp将gulp删除再继续以下操作

安装gulp命令行工具

只需安装一次

创建项目目录并进入

在项目目录下创建package.json文件

安装gulp,作为开发时依赖项

创建gulpfile文件

利用任何文本编辑器在项目大的根目录下创建一个名为gulpfile.js的文件,并在文件中输入以下内容:

测试

在项目根目录下执行gulp命令:

如需运行多个任务(task),可以执行gulptaskothertask。

本节作业:

安装gulp并运行打包

第四节Gulp语法

1.创建任务:

创建任务

每个gulp任务(task)都是一个异步的JavaScript函数,此函数是一个可以接收callback作为参数的函数,或者是一个返回stream、promise、eventemitter、childprocess或observable(后面会详细讲解)类型值的函数。

导出任务

任务(tasks)可以是public(公开)或private(私有)类型的。

公开任务(Publictasks)从gulpfile中被导出(export),可以通过gulp命令直接调用。

私有任务(Privatetasks)被设计为在内部使用,通常作为series()或parallel()组合的组成部分。

一个私有(private)类型的任务(task)在外观和行为上和其他任务(task)是一样的,但是不能够被用户直接调用。如需将一个任务(task)注册为公开(public)类型的,只需从gulpfile中导出(export)即可。

组合任务

Gulp提供了两个强大的组合方法:series()和parallel(),允许将多个独立的任务组合为一个更大的操作。这两个方法都可以接受任意数目的任务(task)函数或已经组合的操作。series()和parallel()可以互相嵌套至任意深度。

如果需要让任务(task)按顺序执行,请使用series()方法。

对于希望以最大并发来运行的任务(tasks),可以使用parallel()方法将它们组合起来。

2.异步执行

gulp任务(task)规范化了所有这些类型的异步功能。gulp不再支持同步任务(Synchronoustasks)了。因为同步任务常常会导致难以调试的细微错误,例如忘记从任务(task)中返回stream。

当你看到Didyouforgettosignalasync


转载请注明:http://www.aierlanlan.com/grrz/4127.html