Node.js

Node.js

服务器

动态网站 : 页面以asp、jsp、php、asp等结束。

静态网站 : 以html(标准通用标记语言的子集)结尾。

本章内容

Node.js概述

node.js是一个事件驱动I/O服务端。

node.js是一个基于Google chrome浏览器的Javascript引擎(V8 Engine)的服务器端平台。

node.js版本常识

偶数位为稳定版本      奇数为非稳定版本

-0.6x              -0.7x

-0.8x              -0.9x

-0.10x             -0.11x

Url网址解析

语法:

代码如下

url.parse(urlStr,[parseQueryString],[slashesDenoteHost]);

接受参数:

urlStr            url字符串

parseQueryString      为true时将用查询模块分析查询字符串,默认为false

slashesDenteHost

默认为false,//foo/bar 形式的字符串将被解释成{pathname:'//foo/bar/'}

如果设置成true,//foo/bar 形式的字符串将被解析成{host‘foo’,pathname:'/bar}

   

QueryString 参数处理

此类共包括四个方法:

querystring.stringify(obj,[sep],[eq])

querystring.parse(str,[sep],[eq],[option]);

querystring.escape

querystring.unescape

Sass和Scss的区别

sass和css的对比sass增加了编程的特性 css只是纯描述语言
《sass》
1、sass是这个世界上最成熟、稳定和强大的专业级css扩展语言。

2、css预处理器:定义了一种“中间语言”,将css作为目标生成文件,为css增加了“编程”的特性,
开发者使用这种语言进行编码,然后再编译成正常css文件供项目使用。
特点:1、适应性强 2、易于阅读 3、 易于维护

3、sass 和 scss区别:
1、文件后缀(扩展名)不同:
sass以“.sass”为扩展名, scss以“.scss”为扩展名
2、书写方式(语法)不同:
sass以严格的缩进式语法规则来书写,不带大括号和分号
scss的书写方式和css语法非常相似。

特点:1、兼容css语法 2、功能丰富 3、成熟 4、久经考验 5、社区 6、 前端框架基石

4、sass四种编译格式:
1、nested 嵌套格式 2、expanded 展开格式 3、compact 紧凑格式 4、compressed压缩格式


《sass基础》

1、sass使用美元符号“$”来声明变量。
例:$a:100px;
数据类型: 数字 字符串 颜色 布尔 null

2、普通变量和默认变量
1、普通变量: $a:100px;
2、默认变量: $a:50px !default;
[注]:最后加"!default"就成为了默认变量
!default 作用用于降低变量优先级(备胎),不至于排序问题覆盖掉上一条相同的变量

3、全局变量:定义在元素外的变量
例:$a:100px; 这样定义在元素外全局都可以使用这样为全局变量

4、局部变量:写在嵌套中的变量为局部变量
例:div{
      $a:50px;
    p{
      height: $a;
    }
  }
这样嵌套在div中的变量称为局部变量,这个变量只可以是div下的后代元素何以调用。
div外面是没办法调用到div包含的变量
【注】:局部变量就是全局变量的影子,只会在局部覆盖全局变量

5、@import "one" 引入别的scss文件这样就可以使用别的scss文件的样式和全局变量
例:import "one";

6、嵌套 分为三种 1、选择器嵌套 2、属性嵌套 3、伪类嵌套
1、选择器嵌套
例:div{ 编译后 div p{color:red}
    p{ color:red;}
  }
这样代表了div后代元素是p标签的元素

2、属性嵌套
例:div{ 编译后:div{
    border:{

       border-top:1px solid red;
      top:1px solid red; border-bottom:1px solid yellow;
      bottom: 1px solid yellow; }
    }
  }

3、伪类嵌套
例:div{ 编译后 div:hover{
    &:hover{ background: red;
      background:red; }
    }
  }
[注]:伪类必须添加“&”这样可以清除掉空格 否则有空格伪类会出错,就无法执行。

7、混合宏
1、混合宏的声明和调用
@mixin 声明混合宏
  例:@mixin hunhe{border:1px solid #000;}

@include 调用混合宏
  例:div{ @include hunhe; }

2、传参混合宏


声明传参混合宏
  @mixin hunhe($width,$height){$width; height:$height;}
调用传参混合宏
div{@include hunhe(100px,100px)}

8、继承 通过 “@extend” 来继承已存在的样式块,和占位符
  例:.div{100px; height:100px;}
  p{ @extend div; } 这样就继承到了div中所有的样式

9、占位符 通过“%name(自定义名称)” 声明占位符
  例:声明占位符 %zhan{color:red;}
  调用占位符 p{ @extend %zhan;}

10、插值 #{}
  例:$a:"font-size"; 编译后 p{font-size:100px;}
  插值 p{ #{$a}:100px;}

11、scss 加减乘除运算
1、加法
  例:p{20px + 20px;}
2、减法
  例:p{ 100px - 20px;} [注]:减法运算减号两边要有空格
3、乘法
  例:p{ 100px * 2;} [注]:乘法中只可以有一个带有单位 否则会报错
4、除法
  例:p{ 100px / 2;} [注]:除法中只可以有一个带有单位 否则会报错

12、sass 的if判断
  例:@mixin iff($yicang){
    @if $yicang==true{
      display:none;
    }@else{
      display:block;
    }
  }
  div{@include iff(true);} 编译后 div{display:none;}
【注】:当调用混合宏的时候 传入参是 true 的时候会调用if后边的语句
  传入参是 false 的时候会调用else后边的语句
  也可以 @if $yincang=="什么"

13、scss 的for循环
  例:@for $i from 1 to 4{ 【注】:to 表示不包含4只到3 through 表示包含这个数也就是倒4
    div-#{$i}{ 10px*$i;}
  }

原文地址:https://www.cnblogs.com/Mousika/p/7082629.html