Node.js
什么是node?
-
Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境
-
Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效
-
事件驱动,可以理解为事件执行(任务执行)
-
非阻塞式I/0模型:
-
非阻塞(异步)
-
I/O 模型(Input/Output 输入输出,即数据库操作)
-
提到I/O就要普及一下同步与异步的知识点:
-
同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事;
-
异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。 ajax请求(异步): 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕;
-
阻塞:是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。
-
非阻塞:指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
-
总结:1.同步,就是我调用一个功能,该功能没有结束前,我死等结果;
2.异步,就是我调用一个功能,不需要知道该功能结果,该功能有结果后通知我(回调函数通知);
3.同步IO和异步IO的区别就在于:数据拷贝的时候进程是否阻塞
4.阻塞,就是调用我(函数),我(函数)没有接收完数据或者没有得到结果之前,我不会返回;
5.非阻塞,就是调用我(函数),我(函数)立即返回,通过select通知调用者;
6.阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回
-
-
-
-
-
Node.js的包管理工具npm,是全球最大的开源库生态系统
- npm init 在根目录下初始化项目
- npm install 安装依赖 npm install --save-dev gulp 这是安装node-modules根目录命令
- npm install --save jquery 第三方插件库
-
npm 插件官网:https://www.npmjs.com/ (插件文档阅读的地方,以后用的大部分插件都在该网页上)
- jquery插件有jquery22、懒人之家、数据表网站ECHARTS、jquery-ui
环境配置
Node的安装
- 安装包安装(官网下载并一直next即可)
- nvm安装:Node Version Manager(Node版本管理工具),由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理。
相关版本
- node版本常识
- 偶数版本为稳定版 (0.6.x ,0.8.x ,0.10.x)
- 奇数版本为非稳定版(0.7.x ,0.9.x ,0.11.x)
- LTS和Current区别
Windows下常用的命令行操作
- 切换当前目录(change directory):cd
- 创建目录(make directory):mkdir
- 查看当前目录列表(directory):dir
- 别名:ls(list)
- 清空当前控制台:cls
- 别名:clear
- 删除文件:del
- 别名:rm -rf 文件目录名称