Node.js

    技术2025-08-21  19

    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:$width; height:$height;} 调用传参混合宏 div{@include hunhe(100px,100px)}

    8、继承 通过 “@extend” 来继承已存在的样式块,和占位符   例:.div{width: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{width:20px + 20px;} 2、减法   例:p{width: 100px - 20px;} [注]:减法运算减号两边要有空格 3、乘法   例:p{width: 100px * 2;} [注]:乘法中只可以有一个带有单位 否则会报错 4、除法   例:p{width: 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}{width: 10px*$i;}   }

     

    Processed: 0.016, SQL: 9