初识NODE
一
.什么是NODE?
node不是一中语言,是一个运行平台环境(跟浏览器很相似),是一个渲染和解析JS代码的环境平台,而且这个平台渲染JS的引擎就是谷歌的V8引擎,就是快!~
也就是说,JS不仅仅是可以在客户端(如浏览器)运行,还可以在node环境中运行,只要在服务器上安装node环境那么我们的JS就可以在服务端运行了
二
. node的特色
1)
基于V8引擎进行解析和渲染:快!
2)
单线程异步基于事件驱动处理的
3)
无阻塞I/O操作(文件操作):当JS在客户端(浏览器)运行的时候,为了保护用户电脑信息的安全,浏览器是禁止JS代码操作用户本地的文件
但当JS代码在node环境运行的时候是可以操作本机的文件
三
.node跟谷歌浏览器的区别
1)
谷歌浏览器的全局变量叫window
2)
node的全局变量叫global
,而且在node环境下不需要考虑兼容性
四
.node的功能模块
1)
内置模块:node平台提供的
2)
自定义模块:自己写的
[自定义模块:你在node运行环境中新建一个JS文件,你就相当于增加了一个自定义模块,模块之间是相互独立互不影响的]
[如果你想在另一个模块用到其他模块就需要引入]
引入方式:
首先将需要引入的模块暴露出来
module.exports.sum=sum;
module.exports.自定义属性名=要暴露出来的模块(函数或对象)
然后在要接受引入的模块接受暴露的模块所在的JS文件
var A=require("./A");
var一个变量A来承接暴露出来了模块
repuire("暴露模块的JS文件路径")
此时就相当于引入的模块写在了当前JS文件一样
之后就可以进行相关操作了
3)
第三方模块:别人写好的,需要下载和引入
第三方模块网站:https://www.npmjs.com
node第三方模块的安装与使用npm install
例如:
npm install less
上述dos命令表示在当前文件夹下安装less插件模块
DOS命令
ipconfig (MAC: ifconfig)
↑本机信息
ping www.baidu.com -t
查看网速 (MAC 不加 -t)
Ctrl+C 终止运行
cls:清屏 (mac: clear)
exit: 退出命令窗口
cd ../ 反会上一级目录
cd ./ 当前目录
cd / 返回根目录
D: 直接到D盘
cd 文件夹的名字 : 进入到指定文件夹
dir : 查看当前文件夹下的目录 (MAC:ls)
↑ dir /A 查看当前文件夹下所有文件(包括系统和隐藏文件)
mkdir 文件夹名字:创建文件夹
rmdir 文件夹名字:删除文件夹
copy con text.txt -> 按enter开始输入内容-->内容输入完成后按Ctrl+Z, 然后再按enter键, 这样就完成文件创建了
del text.txt 文件名.后缀 删除文件
按住shift+鼠标右键,选择在此处打开命令窗口
网站发布:
1.租一台服务器(阿里云服务器:主机/虚拟服务器)给服务器联网(以太网或WLAN),联网之后就会有个IP地址(外网IP地址[别人可以通过外网的IP找到我们的服务器])通常公司都会禁止IP访问
百度的服务器的外网IP: 61.135.169.121
2.买个域名(域名备案)
.cn/.com/.net/.org/.wang/.gov....
3.将自己的项目放到服务器上,上传到服务器指定磁盘上
FTP上传(一般用FileZilla..等工具上传)
4.发布项目(网站)一个服务器可以发布多个项目
每个项目各自占一个端口号,用端口号来区分每一个项目(0-65535)
发布网站的工具:IIS, Apache,NODE,nginx
5.域名解析(DNS解析)将我们购买的域名和服务器的IP地址关联起来,以后提到这个域名就关联的是这个服务器
PS: DNS服务器是一台服务器,是属于世界的万维网联盟,所有的域名解析都在这里进行
www.baidu.com IP: 61.135.169.121
www.jd.com IP: 111.206.231.1
HTTP请求步骤
打开一个网址到页面完全呈现经历了哪些步骤
第一步
DNS服务器-> 域名解析服务器
客户端通过域名访问,到DNS服务器上找到对应的外网IP地址
www.baidu.com->61.135.169.121
(百度)
第二步
通过外网IP找到对应的项目服务器
端口就是(0-65535)之间的任意数字
A:news 端口80
B:blog 端口81
C:... 端口...
再由FTP将项目(css,Js,HTML...)上传至指定端口
第三步
通过端口号找到服务器上对应的项目文件(在发布的时候就已经将项目文件和端口号对应了
)
以上三步为request请求部分
第四步
服务器会把客户端需要请求的资源文件的源代码返回给客户端
第五步
客户端进行解析文件,渲染页面,最终呈现在浏览器上
以上这两步是response响应部分
只有在request和response这两个部分都具备了才能形成一个完整的前后交互的模型"HTTP事物"
第六步
客户端 浏览器 代码解析和页面渲染
W3C:
一个非盈利机构,他就是用来制定变成规范和标准的地方
按照浏览器的开发标准和规范出来的浏览器都有个东西叫引擎(内核)
我们前端工程师也要按照标准和规范去写代码.
把符合标准的代码放到标准的浏览器中通过引擎来渲染
IE内核(Trident引擎):IE5-11 IE Edge,360,猎豹,百度...
Gecko:火狐
Webkit(V8引擎)最快的:Chrome,Safari,QQ
Presto引擎:Opera 欧朋
常见后台语言:↓
.net
C# C sharp
.....等
URI统一资源标识符
URI=URL+URN
URL:统一资源定位符
URN:统一资源名称
一个完整的URI:
https://www.baidu.com:443/xxx/xx.html?name=hh&age=10#video
↑ 其中
https:为第一部分
//www.baidu.com为第二部分
:443为第三部分
/xxx/xxx.html为第四部分
?name=hh$age=10为第五部分
#video为第六部分
第一部分
HTTP/HTTPS/FTP 传输协议
他是内容传输的媒介(快递公司)刻骨段通过传输协议把一些信息传给服务器,同样的服务端也可以吧一些信息返回给客户端
HTTP:超文本传输协议
(除了传输文本之外还可以传输其他的内容如:图片,音频,视频[二进制流/base64]
)
HTTPS:更安全的HTTP
,因为他的传输通道加密了(SSL加密)
通常具有金钱和重要信息的网站都会采用HTTPS传输
FTP:一般都是将项目文件传到服务器上,采用一些工具(上传下载都可以)
第二部分 域名
一级域名/二级/三级...
一级域名:www.qq.com
一级域名需要购买,二级,三级域名自己分配即可
二级域名:sports.qq.com
三级域名:kbs.sports.qq.com
第三部分 端口号
取值范围:0-65535
之间的一个数
默认端口号
HTTP:80
HTTPS:443
FTP:21
比如:webstorm的默认端口号:63342
第四部分
请求资源的路径和名称
xxx/xxx.html 表示的是在当前项目下XXX文件夹下的xxx.html文件
/index.html 表示的是根目录下的index.html文件
在不指定文件目录的时候,默认进入的是index.html(因为我们在发布项目的时候会进入默认的入口)
第五部分
问号+参数?xxx=xxx&yyy=yyy....
1)
客户端可以通过问号+参数的方式,给服务器传送一些信息
2)
我们之前做H5交互简历的时候根据page=n,展示不同的区域
3)
我们还可以传参数,但是这个参数服务器不需要,我们用它来做缓存处理(保证每次的URL都不一样,防止缓存旧数据
)第六部分
哈希值(HASH):#video
1)
客户端也可以通过这种方式给服务器传数据(一般不用了)
2)
锚点定位
3)
通过HASH值实现页面的路由切换